Products in the Form Builder
Add a product field to your form. Your customers can then select and order products directly when they fill out the form.
Where do products come from?
You choose one of two modes:
- Manual -- create and manage products right here in the form builder.
- From catalog -- link a catalog list and pull products from there.
Switching between these modes resets all product data in this field. When you use catalog mode, certain settings are locked because the catalog controls them.
Source mode reference
| Config option | Values | Default | Effect |
|---|---|---|---|
| Product Source | Manual, Catalog list | Manual | Determines whether products are managed inline or pulled from a catalog list |
| List | Catalog list ID | -- | Only used when Product Source is Catalog list. Selects which catalog list to pull products from |
Configuration tabs
The product field has these tabs:
- Settings
- Product Groups
- Selection Groups
- Products
- Conditional
- Lock (only on detail forms)
Settings tab
Here you configure the basics:
- Label and whether the field is required.
- Layout and display options.
- Multi-select and search behavior.
- Order total scope: calculate totals from this field only or from all product fields in the form. Use "Form" to show the total across all steps. Use "Field" to show the total only for the current product block.
Display options reference
| Config option | Values | Default | Effect |
|---|---|---|---|
| Layout Type | Grid, List | Grid | Visual layout of the product list |
| Show Search | on, off | on | Show or hide the search bar above the product list |
| Show Product Groups | on, off | off | Group products by their product group (category) |
| Show Categories as Tabs | on, off | off | When groups are enabled, display them as tabs instead of sections. Only available when Show Product Groups is on |
| Columns | 1, 2, 3, 4 | 2 | Number of columns in grid layout |
| Allow Multiple Selection | on, off | on | Allow customers to select more than one product |
| Required | on, off | off | Customer must select at least one product |
| Cross-Field Order Total | field, form | field | field = totals from this product block only. form = totals include all product blocks in the form. Affects order total and order quantity conditions |
Quantity mode
Choose how customers pick quantities:
- Manual input -- the customer types a number.
- Yes / No selection -- the customer just picks yes or no (no quantity input).
With Yes / No selection, you also set where the quantity comes from:
- Fixed quantity -- a number you define (default is 1).
- From a form field -- the quantity is pulled automatically from a number field in the form (e.g. attendee count).
Quantity mode reference
| Config option | Values | Default | Effect |
|---|---|---|---|
| Quantity Mode | Manual Input, Yes/No | Manual Input | Manual Input = customer enters a number. Yes/No = customer picks yes or no |
| Min Quantity | Number (1+) | -- | Minimum quantity the customer can order. Only used when Quantity Mode is Manual Input |
| Max Quantity | Number (1+) | -- | Maximum quantity the customer can order. Only used when Quantity Mode is Manual Input |
| Quantity Source | Fixed value, From field | Fixed value | Where the quantity comes from in Yes/No mode |
| Fixed Quantity | Number (1+) | 1 | The quantity added when the customer selects "yes". Only used when Quantity Source is Fixed value |
| Source field | Field ID | -- | The number field whose value determines the quantity. Only used when Quantity Source is From field. Accepts Number, Attendees, People Min, or People Max fields |
Product groups and selection groups
Product groups
Organize your products into groups. Product groups show all products in the group -- the customer can pick multiple items and set quantities for each.
You can create, edit, reorder, and delete groups.
One rule: catalog products can only go into catalog-linked groups, and manual products can only go into manual groups.
Product group reference
| Config option | Values | Default | Effect |
|---|---|---|---|
| Name | Text | -- | Display name shown to the customer |
| Description | Text | -- | Optional description text for the group |
| External ID | Text | -- | Optional external identifier for integrations |
| Conditional Rules | Array of rules | -- | Conditional rules for the group. Available actions: show, hide |
Selection groups
Selection groups let you bundle products for your customers. Selection groups show products as radio buttons or a dropdown -- the customer picks exactly one (or up to the maximum you set).
- Set a maximum number of products that can be chosen from the group.
- Make selection from the group required.
- Control visibility and required state with conditional rules.
Selection group reference
| Config option | Values | Default | Effect |
|---|---|---|---|
| Name | Text | -- | Display name shown to the customer |
| Max. selectable | Number (1+) | 1 | Maximum number of products the customer can select from this group. 1 = radio-button behavior |
| Conditional Rules | Array of rules | -- | Conditional rules for the selection group. Available actions: show, hide, require |
Products tab
Add, edit, and manage individual products here.
Product types
- Standard -- a regular product the customer can select and set a quantity for.
- Automatic (hidden) -- added to the order automatically, not shown to the customer. Use this for mandatory fees that should be added to every order (e.g. a service fee or cleaning fee).
- Automatic % (hidden) -- price is calculated as a percentage of the order total, not shown to the customer.
Product type comparison
| Config option | Standard | Automatic | Automatic % |
|---|---|---|---|
| Name | Required | Required | Required |
| Description | Optional | Optional | Optional |
| Image | Optional (if Show Image enabled) | -- | -- |
| Price | Set manually | Set manually | Calculated automatically from percentage |
| Price Type | Net or Gross | Net or Gross | Net or Gross |
| Tax Rate | Required | Required | Required |
| Unit | Optional (e.g. piece, kg) | -- | -- |
| Available | Configurable | Always available | Always available |
| Hide Price Info | Optional | Optional | Optional |
| Initially Visible | on/off | -- | -- |
| Show in Product List | -- | Optional | Optional |
| Min Quantity / Max Quantity | Configurable (manual mode) | -- | -- |
| Quantity Mode | Manual Input or Yes/No | -- | -- |
| Group | Optional | Optional | Optional |
| Selection Group | Optional | -- | -- |
| External ID | Optional | Optional | Optional |
| Conditional Rules | Configurable | -- | -- |
| Lock Behavior | Configurable (detail forms) | Configurable (detail forms) | Configurable (detail forms) |
| Automatic Price Rules | -- | Conditions only | Percentage + conditions |
Pricing reference
| Config option | Values | Default | Effect |
|---|---|---|---|
| Price | Number | 0 | Product price. For automatic percentage products this field is read-only and calculated automatically |
| Price Type | Net, Gross | Workspace setting | Whether the entered price includes tax or not |
| Tax Rate | Tax rate ID | -- | Links to a tax rate from your workspace settings. The rate can be versioned (different rates for different time periods) |
Standard product settings
- Label.
- Description.
- Price.
- Minimum and maximum quantity.
- Tax rate (from your workspace tax rates).
- Available yes/no.
- External ID (optional, for integrations).
- Initially visible: turn this off to hide the product by default. It only appears when a conditional rule shows it.
Automatic product settings
- Label.
- Description.
- Price.
- Tax rate.
- Optional conditions: minimum order value, maximum order value.
- Show in product list: display this automatic product in the list as a read-only item so the customer sees it.
Automatic percentage product settings
- Label.
- Description.
- Percentage (0--100%, step 0.1). The price is calculated automatically.
- The price field is read-only and shows the calculated value.
- Tax rate.
- Optional conditions: minimum order value, maximum order value.
- Show in product list.
Calculation rules for automatic products
Automatic and automatic percentage products can have optional conditions that control when they are applied.
| Config option | Values | Default | Effect |
|---|---|---|---|
| Percentage | Number (0--100, step 0.1) | -- | Only for Automatic percentage products. The percentage of the order total used to calculate the price |
| Min Order Value | Number | -- | Product is only added when the order total is at or above this value |
| Max Order Value | Number | -- | Product is only added when the order total is at or below this value |
| Min Quantity | Number | -- | Minimum total item quantity for the product to be added |
| Max Quantity | Number | -- | Maximum total item quantity for the product to be added |
What happens when you assign a product to a selection group
Conditional rules move from the product to the selection group. The product itself loses its individual rules.
Conditional tab
Set up rules that show, hide, or auto-book products based on form data.
Each rule has:
- An enabled flag (you can disable rules without deleting them).
- A logic mode: All (AND) or Any (OR) when there are multiple conditions.
- One or more conditions.
- One action.
What you can base rules on
| Source | What it checks | Available comparisons |
|---|---|---|
| Field | A form field value | Depends on the field type (see below) |
| Room | Whether a room is selected | is selected / is not selected |
| Product | Whether another product is selected | is selected / is not selected |
| Order total | The current order total | Greater than, Greater than or equal, Less than, Less than or equal, Equals, Does not equal |
| Order quantity | The total number of items | Greater than, Greater than or equal, Less than, Less than or equal, Equals, Does not equal |
Operators by field type
| Field type group | Operators |
|---|---|
| Text | Equals, Does not equal, Contains, Does not contain, Starts with, Ends with, Is empty, Is not empty |
| Number | Equals, Does not equal, Greater than, Less than, Greater than or equal, Less than or equal, Is empty, Is not empty |
| Date / Time | Equals, Does not equal, Before, After, On or before, On or after, Is empty, Is not empty |
| Options (single) | Equals, Does not equal, Is empty, Is not empty |
| Options (multi) | Includes, Does not include, Is empty, Is not empty |
| Checkbox (simple) | Checked, Unchecked |
| Checkbox (with options, multi) | Includes, Does not include, Is empty, Is not empty |
| Checkbox (with options, single) | Equals, Does not equal, Is empty, Is not empty |
Available actions
- On a product: show, hide, auto-book.
- On a product group: show, hide.
- On a selection group: show, hide, require.
Action reference
| Config option | Values | Default | Effect |
|---|---|---|---|
| Action | Show, Hide, Require, Auto-book | Hide | What happens when conditions are met. Require only for selection groups. Auto-book only for products |
| Quantity value | Number (1+) | 1 | For Auto-book: the quantity to add. Only used when Quantity Source is Fixed value |
| Quantity Source | Fixed value, From field | Fixed value | For Auto-book: where the quantity comes from |
| Source field | Field ID | -- | For Auto-book with Quantity Source = From field: the number field providing the quantity |
Auto-book settings
When you choose auto-book, you set the quantity:
- Fixed quantity -- a number you define.
- From a form field -- pulled from a number field in the form.
Self-reference protection
When a rule on a product references the same product field, the product you are currently editing is excluded from the list of targets.
Lock tab (detail forms only)
Lock products so customers cannot change them after a certain point.
- Selection lock -- the customer cannot remove the product but can still increase the quantity.
- Full lock -- no changes at all.
Lock timing options:
- Immediately -- locked right away.
- On commit -- locked after the first submission.
- Deadline -- locked at a specific time:
- Absolute: a fixed date and time.
- Relative: a number of days (0--365) before or after the event start or end.
Lock policy reference
| Config option | Values | Default | Effect |
|---|---|---|---|
| Lock | on/off | off | Immediately locked. Mutually exclusive with Final decision and deadline |
| Final decision | on/off | off | Locked after first submission. Disabled when Lock is on |
| Lock scope | Selection only, Selection + quantity | Selection only | Selection only = product cannot be removed, quantity can still increase. Selection + quantity = product and quantity are completely frozen |
| Date and time | ISO 8601 datetime | -- | For absolute deadlines: the exact date and time when the lock takes effect |
| Anchor | Event start, Event end | Event start | For relative deadlines: reference point for the offset |
| Days | Number (0--365) | 5 | For relative deadlines: number of days from the anchor |
| Direction | Before, After | Before | For relative deadlines: whether the offset is before or after the anchor |
Cart summary
The Cart Summary field is a display-only block. It shows a breakdown of everything the customer selected across all product and room fields:
- Selected items with quantities.
- Unit prices and subtotals.
- Tax breakdown.
- Grand total.
Cart summary reference
| Config option | Values | Default | Effect |
|---|---|---|---|
| Show Items List | on/off | on | Show individual line items |
| Show Subtotal | on/off | on | Show subtotal (before tax) |
| Show Tax Breakdown | on/off | on | Show tax breakdown |
| Empty Cart Message | Text | -- | Custom message shown when no products or rooms are selected |
Product appearance
Choose a visual style for the product list:
- Standard (default) -- product name and price in a list.
- Fancy -- large cards with images and descriptions.
- Minimal -- compact list without images.
Catalog-linked products
Products pulled from a catalog keep their core data (name, base price) read-only. You can still override:
- Availability.
- Quantity limits.
- Tax rate.
- Display settings.
- Lock settings.
On detail forms, price overrides are also available for supported catalog products.
How it works at submission time
- If the product field is required, the customer must select at least one product.
- Automatic products are calculated on the server. They support cascading rules (one automatic product can depend on another).
- The server checks for price tampering and corrects it.
- Lock rules are enforced on the server, not just in the form.