# Pricing Rule

## Setting Up Pricing Rules

Pricing rules allow organizers to override the order total with a custom fixed price when specific conditions are met. Rules are evaluated in order, and the first matching rule is applied. A common use case is setting a flat fee for bundled ticket + add-on purchases (e.g., an early bird package).

### Accessing Pricing Rules

1. Go to your event.
2. Click on **Ticket & Add-On** in the sub-navigation.
3. Select the **Pricing Rules** tab.

![](/files/w9LRVn0e6rCnNSXCjgBg)

If no pricing rules have been configured yet, the page will show an empty state with an **Add Pricing Rules** button.

![](/files/jERVg2IdaT7GGWE8GxuG)

### Creating a Pricing Rule

1. Click **Add Pricing Rules** to enter the editor.

![](/files/bOkRyGBxnqX54ZY0ZfTj)

2. Click **Add New Rule** to create your first rule.

![](/files/jNGZZdsWSSWjeX9iqRkD)

3. Enter a **Rule Name** to identify the rule.
4. Set the **Fixed Price** — this will be the new order total when the rule is matched.

**Note:** The fixed price must be at least the payment gateway minimum charge for your event's currency (e.g., HKD 6.00). A notice at the top of the editor shows the minimum for your event.

![](/files/1hRIQfVQYsStrl8ZuF86)

### Adding Criteria

Each rule must have at least one criterion. A rule only applies when **all** of its criteria are met. Click **Add Criterion** to add another condition.

![](/files/BZIaN3nDMF7ooLDChzml)

Select the criterion type from the **Item** dropdown. The available types are:

![](/files/YIEJeI6nSxcRyqQQo6NI)

#### Total Price

Compares the order total (after any promo code discount) against a threshold.

1. Select **Total Price** as the item type.
2. Choose an **Operator**: Equal To, Not Equal To, Greater Than, Greater Than or Equal To, Less Than, or Less Than or Equal To.
3. Enter a **Value** for the comparison.

**Example:** To apply a fixed price when the order total exceeds HKD 500, set the operator to **Greater Than** and the value to **500**.

![](/files/TeiweD6mNa5FtdI1tOfG)

#### Ticket

Matches specific ticket types with optional minimum and maximum quantity ranges.

1. Select **Ticket** as the item type.
2. Choose one or more ticket types from the **Targets** multi-select dropdown.
3. Optionally set a **Min** and/or **Max** quantity — the rule matches when the total purchased quantity of the selected tickets falls within the range.

**Example:** Target the "VIP" ticket with a Min of 2 to apply pricing when at least 2 VIP tickets are purchased.

![](/files/kQc6xoZfsr6llok8tSkf)

#### Add-On

Matches specific add-on items with optional minimum and maximum quantity ranges.

1. Select **Add-On** as the item type.
2. Choose one or more add-ons from the **Targets** multi-select dropdown.
3. Optionally set a **Min** and/or **Max** quantity.

![](/files/I3WNSTTmqiXVqP6Wik0U)

#### Registration Form

Matches orders where the attendee is registering through a specific registration form.

1. Select **Registration Form** as the item type.
2. Choose a registration form from the **Targets** dropdown.

![](/files/jvNH92AF4YGdGaWa5obk)

#### Promo Code

Matches based on whether a promo code is applied (or not).

1. Select **Promo Code** as the item type.
2. Choose from the available options:
   * **Any Promo Code** — matches when any promo code is applied to the order.
   * **No Promo Code** — matches when no promo code is applied.
   * A specific promo code from the dropdown — matches only when that exact promo code is used.

![](/files/urL3y1qX2P6spDHb1nl2)

### Deleting a Criterion

Hover over the criterion row and click the delete button (trash icon). A rule must have at least one criterion — the delete button is hidden when only one criterion remains.

![](/files/r3QaMJSiGk2hUUe8JqCY)

### Deleting a Rule

Click the delete button (trash icon) on the rule card to remove the entire rule.

![](/files/hwe7exoQ0GMiQxSUjZTv)

### Reordering Rules

Rules are evaluated in order from top to bottom. The **first matching rule** is applied — subsequent rules are ignored even if they also match.

Drag and drop the rule cards to change the evaluation order.

![](/files/zOVFmoazqdvL93LzsjUJ)

### Saving Pricing Rules

Once you have configured your rules, click **Save** at the bottom of the page. The save replaces all existing rules at once — there is no partial save or draft mode.

![](/files/qcY44Mdui7ICDWfEqqyG)

If there are validation errors (e.g., a required field is missing, or the fixed price is below the minimum charge), an error message will appear and the save will be blocked.

![](/files/qbkdgOTNfniwQX2jMM75)

Click **Back** to return to the list view. If you have unsaved changes, a dialog will ask whether you want to discard them or stay and continue editing.

![](/files/GwxQzMiLY43UMOmu4mCV)

## How Pricing Rules Work

1. When an attendee submits an order, all pricing rules for the event are evaluated **in order** (top to bottom).
2. For each rule, every criterion is checked. All criteria must be satisfied (AND logic).
3. The first rule where **all** criteria match is applied — remaining rules are skipped.
4. The order total is replaced with the rule's **Fixed Price**. Individual item prices are scaled proportionally so their sum equals the fixed price.
5. If no rule matches, the standard price calculation is used.

**Note:** Pricing rules are evaluated **after** any promo code discount is applied. For example, if a promo code reduces the order total from HKD 600 to HKD 400, the Total Price criterion compares against HKD 400, not HKD 600.

## On Registration Form

When a pricing rule is applied to an order, the attendee will see the rule name and the adjusted price on the order summary.

![](/files/4CY0cEjGa71sN0SZokMo)

The attendee does not need to take any action — the pricing rule is applied automatically based on the items in their cart and any promo code used.

## Remarks

1. Pricing rules are evaluated per event. Rules cannot be shared across multiple events.
2. If no rules are configured (or the rules array is empty), standard pricing applies with no modifications.
3. The save action replaces the entire ruleset. Deleting all rules and saving effectively disables pricing rules for the event.
4. The minimum charge is enforced server-side based on the event's payment currency. Contact support if the displayed minimum looks incorrect.

## Limitation

1. Only **one rule** can be applied per order (first-match-wins). It is not possible to stack multiple rules.
2. Pricing rules only support a **fixed price** result. Percentage-based discounts or per-item price overrides are not available.
3. There is no draft or version history — saving immediately activates the new rules.
4. The Registration Form criterion checks only the first attendee's registration form in orders with multiple attendees.
5. Pricing rules cannot be set to expire on a specific date. To deactivate a rule, delete it and save.
6. The fixed price must be paid in the event's payment currency. Currency conversion is not applied.

## Related Articles

* [Ticketing Setup](https://eventx-hq.gitbook.io/knowledge-base/registration-and-ticketing/ticketing-and-pricing/ticketing-setup)
* [Creating Promo Codes](https://eventx-hq.gitbook.io/knowledge-base/registration-and-ticketing/ticketing-and-pricing/creating-promo-codes)
* [Add-on Item](https://eventx-hq.gitbook.io/knowledge-base/registration-and-ticketing/ticketing-and-pricing/add-on-item)
* [Registration Form Setup](https://eventx-hq.gitbook.io/knowledge-base/registration-and-ticketing/registration-form)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://eventx-hq.gitbook.io/knowledge-base/registration-and-ticketing/ticketing-and-pricing/pricing-rule.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
