# Tournament Setup

wo types of tournaments can be created in the Smartico’s BO:

1. **Tournaments with Simple Logic:** These tournaments use predefined scoring rules. You select from the available options, and the system handles the rest.
2. **Tournaments with Formula-Based Logic:** These tournaments allow you to create custom scoring rules using a formula that you design.

The only difference between these two types is how the scoring logic is applied. All other tournament settings remain the same.

{% hint style="info" %}
If multiple runs overlap, the user’s progress is counted only for the oldest active run.\
For example, if a run starts every day and lasts 5 days, there will be 5 runs active simultaneously. Even so, the user’s progress will apply only to the first (oldest) active run - not to the newer ones.
{% endhint %}

<div data-with-frame="true"><figure><img src="/files/t1hsmKG21IHzijXWyItq" alt=""><figcaption></figcaption></figure></div>

### Tournaments with Simple Logic

Tournament configurations are located in the ‘Gamification > Tournaments’ section within the Smartico Back Office. The Simple Logic Tournament configuration screen consists of the following main tabs:

* **General** - the tab with the main configurations of a given tournament, like who can see the tournament, scoring rules (pre-defined), name, description, image, image for the tournament lobby, etc.
* **Prize Pool** - used to define the prizes that will be issued to the winners of the tournament
* **Related Games** - used to add related games to the tournament
* **Runs** - showing the list of tournament 'runs' (instances) with a list of participants in every run. The concept of the 'run' is easy to understand in the example of recurring tournaments. If you have a recurring tournament that starts every Monday, you will find all instances of this tournament, with a specific list of participants and winners, in the 'Runs' tab.
* **History** - this tab shows the history of changes in the tournament configuration

#### **Tournament status**

As part of the General setup, you can define the following statuses:

* **Archived** - the tournament is not active or displayed in the gamification widget, and further changes of status are locked
* **Draft** - the tournament is not active or displayed in the gamification widget
* **Paused** - the tournament's future runs will be skipped, new players will not be able to join the tournament, current players will continue to progress in the current run, and prizes will be distributed
* **Published** - the tournament is active and displayed in the gamification widget (based on segmented criteria)

<details>

<summary>Status flow</summary>

1. When creating a new Tournament template, the default status will be **Draft.**
2. You can change **Draft** → **Active** or **Draft** → **Archived.**
3. Once Published you can change **Active** → **Paused** or **Active** → **Archived.**
4. Once Paused you can change **Paused** → **Active.**
5. You can switch between **Paused** and **Active** continuously.
6. Once **Archived** further status change will be disabled, because this status is **final.**

{% hint style="info" %}
*Archiving a tournament won't stop its active runs. To cancel them, you need to navigate to the Runs tab. Otherwise, they will finish as setup.*
{% endhint %}

</details>

<div data-with-frame="true"><figure><img src="/files/bSapu2OjEyvWdeDoSsvO" alt=""><figcaption></figcaption></figure></div>

### Formula-based scoring logic

You can create custom scoring logic using the new ‘Formula-based’ tournament type. This option is accessible through the Creation Wizard. Once selected, you'll have access to the Formula Builder, where you can design your own scoring rules based on specific events and properties.

#### How It Works:

**Step 1.** Create a Formula-Based Tournament:\
When creating the tournament, select ‘Formula-based Tournament’ from the wizard.

<div data-with-frame="true"><figure><img src="/files/6pAU2wgJsXHSrch4IqkP" alt=""><figcaption></figcaption></figure></div>

**Step 2.** Create a Scoring Formula:\
After saving the template, go to the ‘Scoring Formulas’ tab and click on the ‘Create’ button to start creating the scoring formula.

<div data-with-frame="true"><figure><img src="/files/kqJOD3pxgr05JdbRZkOM" alt=""><figcaption></figcaption></figure></div>

**Step 3.** Define Your Formula:\
Give your formula a name, and select the event and the conditions on which it will be based.

<div data-with-frame="true"><figure><img src="/files/4ky0Z7DVtmvbGg1145zL" alt=""><figcaption></figcaption></figure></div>

**Step 4.** Open the Formula Builder:\
Use the Formula Builder to construct your formula using the properties related to the chosen event.

<div data-with-frame="true"><figure><img src="/files/COqcjpDVvOwN6OHEIwkk" alt=""><figcaption></figcaption></figure></div>

**Step 5.** Save Your Formula:\
Save the formula once you're satisfied with the logic.

{% hint style="success" %}
If a player's score is non-zero (including negative values) and they meet all the conditions, they will be successfully registered for the tournament. However, if the score is exactly 0, the player will not be registered, even if all other conditions are met.
{% endhint %}

#### Managing Multiple Formulas:

You can create multiple formulas and assign a priority level to each. The formula with the highest priority (1 being the highest) will be executed first. Lower-priority formulas (2, 3, 4, etc.) will be executed afterward.

For example, let's say you create a formula based on a ‘Deposit’ event that awards 10 points for every deposit over 100 EUR. You then create a second formula based on a ‘Casino Bet’ event, awarding 5 points for every bet over 10 EUR, and here is what will happen:

\- If a player deposits more than 100 EUR, they receive 10 points.

\- If a player places a casino bet of over 10 EUR, they receive 5 points.

\- If both actions are performed, the player receives a total of 15 points.

<div><figure><img src="/files/D0UD6vqszQmZD7I53Omf" alt=""><figcaption></figcaption></figure> <figure><img src="/files/RVyZF37cIjnC0FVJFmJG" alt=""><figcaption></figcaption></figure></div>

{% hint style="danger" %}
If there are overlapping formulas, the one with the highest priority will be executed. Overlapping could happen if you create 2 formulas with the same event and conditions.
{% endhint %}

### Players who are allowed to register and see the tournament

You can define two segments of players:

* **Who can see the tournament** - will define the segment of users who will see the tournament
* **Who can register in the tournament** - segment of users who can register. If the user can see but cannot register for the tournament, they will see an error message.

<div data-with-frame="true"><figure><img src="/files/DsKRWSRqFRuzMR20K23S" alt=""><figcaption></figcaption></figure></div>

### Registration rules and tournament time

There are also settings that define the main rules for entering the tournament.

1. **Registration type:**

* Free opt-in - Players can join the tournament free of charge
* Buy-in with points - the player is paying for opt-in with gamification points
* Opt-in and Manual approval - the player can opt in to the tournament, but must be approved by the operator in the Smartico back office. This opt-in logic can be used for closed tournaments, where, behind the scenes, the operator deducts real money from the user's balance. A money deduction can also be automatic if the operator's platform provides an integration API to the wallet.
* Qualification rule - the qualification rule itself can be any event happening for the end-user, and can also include restrictions on the event's attributes. In the case of "Requires qualification", the user must complete the qualification action; after that, he will be able to register and participate in the tournament.\
  \
  **Note:** the system will handle 2 cases: the user can first register and then complete the qualification action, or he can complete the qualification action and then confirm registration.

  A message for non-matching registration conditions will inform the user of the required action.

2. **Allow late registration** - if allowed, players can register after the tournament is already in progress.
3. **When to run** - is defining if it's a one-time tournament, starting on a specific date/time or the tournament is repeating according to a defined schedule.
4. **Minimum and maximum number of players:** if the tournament does not get enough players, it will be canceled automatically. In such a case, the buy-in amount, if defined as gamification points, will be returned to the player. Once the maximum number of players is reached, new player registrations are no longer allowed. It’s recommended to have at least 2 users, so if only 1 user joins a tournament, he will be the only participant and the only winner.

<div><figure><img src="/files/5gYEy8DPGe8Ed99yWt1w" alt=""><figcaption></figcaption></figure> <figure><img src="/files/D2dpuRgy7H9c3erbM6eC" alt=""><figcaption></figcaption></figure> <figure><img src="/files/qtriiG9mPUOxNJQ8EMBY" alt=""><figcaption></figcaption></figure></div>

### Tournament visibility before starting and after finishing

You can also define when a tournament becomes visible and how long it remains visible after it finishes. For recurring tournaments, it's important to properly configure 3 parameters: tournament duration, visibility before the start, and visibility after the finish. For example:

* The tournament is set to start every Monday at 10 AM and last for 5 days, finishing at 10 AM on Saturday.
* Visibility before the start can be set to 1 day, which means that the tournament will be announced and become visible at 10 AM on Sunday
* The visibility 'after finishing' can be set to 2 days. This means that the finished tournament will be visible till 10 AM on Monday

In such a scenario, there will be an overlapping period from 10 AM Sunday to 10 AM Monday, during which players will see 2 instances of the tournament.

{% hint style="info" %}
If a Tournament is moved to 'Archived' status while there is an ongoing run, the current (ongoing) run will be completed, and the prizes will be issued.
{% endhint %}

### Prize pool configuration

The prize pool can be defined per place (e.g., 1st, 2nd ) or for a range of places (e.g., 5-10). Prizes can be of 3 types:

* Gamification points
* Bonus (in case the operators' platform is providing an API for issuing the bonus)
* Tangible prize

<div data-with-frame="true"><figure><img src="/files/uz3fa8aR5rEErWZZHQNn" alt=""><figcaption></figcaption></figure></div>

At the end of the tournament, all players may receive (if configured) marketing communications informing them of the tournament name, their winning position, and the prize.

### Hide users who did not meet the minimum score from the leaderboard

You can hide users who haven't met the minimum score required to qualify for the Tournament from the leaderboard. By default, this feature is disabled, meaning all users, regardless of their score, will appear on the leaderboard. When enabled, only players who meet the minimum score will be displayed, along with the current player. If the current player hasn’t reached the minimum score, their rank will not be shown.

<div data-with-frame="true"><figure><img src="/files/G355u3p6XR4PufJoqfWa" alt=""><figcaption></figcaption></figure></div>

### Happy hours

Happy Hours allow you to award players extra points on specific days and during specific hours, using UTC time as the standard. You can define which days the bonus applies and set a multiplier to increase the points earned. If you specify a day but omit the hours, the multiplier will apply for the entire day. If you include both the day and a time range, the multiplier will apply only during that window. This gives you flexibility to create full-day events or short bursts of bonus activity, depending on your goals.

<div data-with-frame="true"><figure><img src="/files/DuTuLYcMS9LD2ME9XJcB" alt=""><figcaption><p>BO: Happy hours setup in Tournaments</p></figcaption></figure></div>

### Limiting Player Actions in a Tournament

To restrict player actions in a tournament, use the ‘Limit players’ actions in a tournament’ option and specify the desired limit value. Note that in Formula-Based tournaments, the limit is enforced as soon as additional conditions are met, even if the player hasn’t fulfilled the formula's calculation criteria.

**Example Scenario:**

* Tournament Setup:
  * Limit: Casino Bet Count = 3
  * Additional Condition: Last game played = Game A
  * Formula calculation: If the player’s bet amount ≥ 10, award 10 points
* Use Case:\
  A player places three bets on Game A. Regardless of whether the bet amount is greater than, less than, or equal to 10, the player reaches the set limit. Their status changes to ‘Finished’, preventing further progress in the leaderboard.

<div><figure><img src="/files/BDtucBPwWMls3D9aPB10" alt=""><figcaption></figcaption></figure> <figure><img src="/files/5s6AQs88cXPA8nHMdnv1" alt=""><figcaption></figcaption></figure></div>

### Finalizing a tournament

After finishing, every tournament has a 'finalization' status. The need for this status stems from the delayed delivery of events from the casino/sports platform. Even with real-time delivery of events from the platform to the Smartico system, there could be small delays that will lead to the following situations:

* The player makes a bet at 10:59 PM, and it is not delivered to Smartico at that minute
* The tournament is finishing at 11:00 PM and doesn't count the place bet
* The placed bet is finally delivered to Smartico at 11:01 PM, but the tournament is already over and the winners have been announced.

To mitigate this problem, tournaments have a 'Finalization' status, which lasts for the period specific to the integrated platform. The length of this period is chosen to ensure that all events are delivered to Smartico and to enable a fair selection of winners.

{% hint style="info" %}
Please contact your Customer Success Manager regarding the finalization period defined for your integration
{% endhint %}

### Multiple ‘Happy hours’ per day in Tournaments

You can set multiple Happy Hours per day in Tournaments.\
For example, you can configure a Happy Hour on Monday from 10:00–16:00 (x2 multiplier) and another from 16:00–22:00 (x3 multiplier).

{% hint style="success" %}
Keep in mind that if time periods overlap, the system will apply the first matching time range.\
Example:

* Tue 00:00–15:00 → x5
* Tue 12:00–18:00 → x10

Between 12:00–15:00, the system will use x5; between 15:00–18:00, x10; and after 18:00, x1.
{% endhint %}

<div data-with-frame="true"><figure><img src="/files/5F9ZQN5TKrtn2g93Tlmu" alt=""><figcaption><p>BO: Happy hours in Tournaments</p></figcaption></figure></div>

### Activity period for scoring formula

You can set an Activity Period for tournament scoring formulas. It’s disabled by default. When enabled, you can add a start and end date, and the formula will be applied only within this time window. Any actions made outside the selected period won’t count; players will not be able to progress in the tournament and earn points.

<div data-with-frame="true"><figure><img src="/files/POUZBmRdrMX9u65yR546" alt=""><figcaption></figcaption></figure></div>

### Inform players about their positions in the middle of the tournament

Set up the schedule and send a special event "**Tournament: leaderboard update**" (tournament\_leaderboard\_update)

<div data-with-frame="true"><figure><img src="/files/zDCqeb2OSxpbw7ENRvbW" alt=""><figcaption></figcaption></figure></div>

This is ideal for sending targeted campaigns - such as notifying the Top 10 players of their current standing to drive late-stage competition. Once enabled, you can choose from three scheduling modes:

* Daily: Sends the event at a set time each day.
* Days of the Week: Choose specific days + time (e.g., weekends only).
* Specific Dates & Times: Set specific date or dates and times

Also, you can define how many top-ranked users should receive the event based on your chosen schedule. For example, you can configure the system to only trigger the '**Tournament: leaderboard update**' event for the top 20 players based on current standings at the scheduled time.

The event is coming with '**tournament\_leaderboard\_position**' property, so you can build a communication like

```soy
Hi, your position in the tournament is {{event.tournament_leaderboard_position}}
```


---

# 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://help.smartico.ai/welcome/products/tournaments/tournament-setup.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.
