Skip to content

Conditions

A condition asks something only when an earlier answer calls for it. There are two kinds, in two different places, and they do different jobs.

Where you set it What it hides
Step condition Flow tab, the ⋮ menu on a row A whole question, or a whole section and everything in it
Option condition Inside the question, under an option One choice in a list

A step condition belongs to the question's place in the flow, so the same question used twice can be asked under different conditions. An option condition belongs to the question itself and travels with it wherever it is used.

Setting a step condition

On the Flow tab, open the ⋮ menu beside a step and choose Add logic / conditions. Once one is set the entry reads Edit the condition.

Section rows have it too. A condition on a section hides the whole group — every question inside it is skipped, not asked one by one.

Building the condition

Press Add a condition. Each condition is three parts:

Part What it is
Attribute Which earlier question's answer to read, named by its own wording
Operator How to compare — is, is more than, contains…
Value What to compare against

Under the conditions, How these combine decides whether all of these, any of these or none of these must hold. Add a group nests a second combine inside the first, for this and (that or the other).

A plain-English sentence sits under the builder as you work — "shown when What kind of holiday are you planning? is Honeymoon". Read it before you close. It is the quickest way to notice a condition that says the opposite of what you meant.

Only earlier answers are offered

The Attribute list holds only questions asked before this one. If it is empty, the panel says nothing is asked before this step — move the step later, or the question you want to read earlier.

This matters after a reorder: dragging a step above the answer its condition reads leaves a condition that can never be true. The flow checks after each move and shows a banner when it finds one, and publishing refuses with "Rule reads tripType before it has been asked, so it can never be true".

What you can compare, by kind of question

The operators on offer depend on what the question stores, so the list changes with the question you pick.

The answer is Comes from Operators offered Value control
Text Type an answer; Pick one answer; Choose from a list is, is not, is one of, contains, does not contain, has been answered A dropdown of that question's options, or a text box
A number Slide to a number; a text question set to Number is, is not, is more than, is at least, is less than, is at most, has been answered A number box
A date Pick a date is, is before, is on or before, is after, is on or after, has been answered A date picker
A list Pick several answers contains, does not contain, has been answered A dropdown of that question's options
A set of values Fill in several fields; Slide several values; Choose rooms has been answered —

Which kind a question stores is listed in Ways a traveller can answer.

Two things follow from that table:

  • A choice question compares the words, not the number. The value dropdown offers the option's Label. Value (optional) is for pricing and plays no part here.
  • A question storing several values can only be tested for having been answered. To read inside one, give the field its own Reference — then it appears in the attribute list in its own right. Sliders are the exception: a Slide several values question can compare its own sliders against each other, but only inside that question, under Rules across sliders.

Unanswered answers, and is not

A question that was never asked — because its own condition hid it — counts as unanswered, and every comparison against it is false, is not included. An unanswered question is not "not Honeymoon"; it is nothing at all.

To ask whether something was answered at all, use has been answered. An empty box and an empty list count as unanswered; 0 and No are answers.

Option conditions

Inside a question, each option carries Only show {label} when…. It is the same builder, and the same attribute list — earlier answers only.

An option's condition cannot read the question it belongs to. Publishing refuses with "Honeymoon suite's condition references roomType, which no question in this version defines" when it names something unknown, and a forward reference is refused the same way.

A hidden option is never sent to the traveller's browser. If they go back and change the answer the condition reads, a choice that no longer applies cannot stay picked.

Checking a condition works

The Preview tab, and the Show preview switch beside the flow, walk the questionnaire as a traveller. Answer one way, then the other, and watch what appears. This is the only check that covers a condition end to end — the sentence under the builder tells you what you wrote, not what a traveller will meet.

When publishing refuses

Conditions cause two of the refusals on the Publish tab:

  • "Rule references nights, which no question in this version defines" — the question it read was deleted or renamed. Edit the condition, or put the question back.
  • "Rule reads tripType before it has been asked, so it can never be true" — the step moved above its answer. Move it back below, or rebuild the condition on something earlier.

Both name the step, and Take me there on the finding opens it.