# Conditional assignment

## Introduction

Admira’s conditional digital content playback system allows you to modify the content and/or the way it is displayed on a player, depending on the evaluation of certain external agents and the establishment of a series of conditions that must be met for a content is displayed on the screen.

The conditional system provides the player with greater intelligence, since it will be able to determine at any time, based on a series of predetermined conditions and the evaluation of their fulfillment, what content is going to be reproduced next, beyond the programming that have assigned (content included in a loop or simple playlist).

From the **Administration > Management > Conditions Assignment section**, you can condition the behavior of the following elements:

* Contents and/or blocks in a simple playlist
* Act in real time on external changes (Triggers)
* Templates both in simple playlists and in advanced mode

The conditional player functionality allows programming to be segmented based on variable external parameters, such as the geolocation of players installed in bus/taxis fleets (geopositioning by quadrants or groups of 4 position marker conditions –latitude and longitude–), number and sex of the people who are looking at a screen (audience measurement) or values provided by temperature sensors.

## Conditions

They are the necessary circumstances that must occur at a given time for the player to broadcast content X.

### Condition group

Conjunctive grouping (“AND”) of various conditions. It is used to combine multiple conditions that must be fulfilled simultaneously for the player to emit content X.

### Condition Types

The condition types are the labels for each reference to a condition, that is, the TOPIC to evaluate. For example, multiple conditions from different topics or from the same topic can be evaluated in a condition pool.

* **Topic A** : Number of observers
* **Topic B** : Gender of the observers

**Condition group 1**&#x20;

<details>

<summary>Are there more than 5 people watching? (Topic A)</summary>

The content of "Group Offer" will be broadcast

</details>

<details>

<summary>Is there 1 person watching? (Topic A) + Is there a woman watching? (Topic B)</summary>

The content "Special Woman" will be broadcast

</details>

As an example of audience gender conditions, we would do it as follows:

* *If Audience Sex = 1 replace with Male creative*
* *If Audience Sex = 2 replace with creative of Woman*

Other conditions that we can apply are:

* **Total Audience**: Total number of people in front of the screen.
* **Male Audience**: Total number of people in front of the screen.
* **Female Audience**: Number of women in front of the screen
* **Audience Arrived**: Newcomer audience in front of the screen
* **Audience Sex**: Sex majority (for example: 0 = equality, 1 = men, 2 = women)<br>

### Conditions priority

The same element of the simple playlist can have multiple conditions assigned, in these cases the priority is determined by its order in the list, so that the first condition evaluated will be the one with the lowest priority, and can be modified by the next one. At the first condition that is fulfilled, the action will be carried out (replacement/issuance of the affected content).

## Actions

These are the actions that will be applied in the event that a group of conditions is met.

The actions that can be carried out are:

* Replace a content with another content/block of a playlist (keeping its properties): in this case the content/block that replaces the current one must exist in the playlist (**CONTENT\_REPLACE**)
* Replace a content with another content/block that does not belong to the playlist, in this case neither broadcast schedules nor number of passes, etc. (**FILE\_REPLACE**) are taken into account
* Replace a template applied to a playlist element (content / block / block content) or to the same template (**TEMPLATE\_REPLACE**)

### Triggers

Triggers are groups of conditions evaluated in real time to modify the substitution or adaptation of a conditioned element.

Triggers have a higher priority over groups of conditions that can be set for a single playlist position.

&#x20;Example:

#### TOPIC C: Character detection

**Condition grupo TRIGGER**

<details>

<summary>Did a person just stop? (TOPIC C)</summary>

“Welcome to the Center” content will be broadcast

</details>

Examples of trigger behavior

{% tabs %}
{% tab title="Example 1" %}
*\<interruption = 1 interval = 0>*

It is applied when we want the playback to be interrupted at any time that the data of the condition changes and is true
{% endtab %}

{% tab title="Example 2" %}
*\<interruption = 0 interval = 0>*

It is applied when we want the reproduction to NOT be interrupted but to be constantly reviewed when the data of the condition changes and is true
{% endtab %}

{% tab title="Example 3" %}
*\<interruption = 0 interval = 60>*

It is applied when we want the reproduction NOT to be interrupted when a condition is valid, but it is to do so in the following content.&#x20;

In addition, we want that in the event that the data does not change, the review of the condition is forced in 60 seconds, interrupting playback again. It is recommended to set intervals greater than 10 seconds or more
{% endtab %}

{% tab title="Example 4" %}
*\<interruption = 1 interval = 60>*

{% hint style="warning" %}
The interval time counts from the last time the condition is checked (and returns true) and NOT from the moment the condition is triggered.
{% endhint %}
{% endtab %}
{% endtabs %}

## How to assign conditions on the platform

We can access the Assignment of Conditions from the **Administration > Management > Assignment of Conditions section**. From this section, the triggers that will affect one or more players on the circuit are created and added.

<figure><img src="/files/2qkf9LYJarumbllu7wP5" alt=""><figcaption><p>Players list</p></figcaption></figure>

<figure><img src="/files/F9KqBcpPBZHYINHDTb8V" alt=""><figcaption><p>Players list</p></figcaption></figure>

### Configuration example

Conditions for a simple player.

<figure><img src="/files/RePsXSL9Qhsb7WzjhNqq" alt=""><figcaption><p>Configuration for a simple player</p></figcaption></figure>

Conditions in the simple playlist assigned to a player.

<figure><img src="/files/d8y4jPM9aubWmX0EOHhu" alt=""><figcaption><p>Edit playlists</p></figcaption></figure>

The user interface allows:

* **Create / Edit**: Types and groups of conditions
* **Add / Edit**: Conditions
* **Apply / Modify**: Resulting Action
* **Delete**: Click on “delete” and then on the “Save triggers” button

**Important**

{% hint style="warning" %}
To correctly define and save an area of the map in which the condition will be applied, it is necessary to center the circle on a certain point and, once the radius of action is well defined, click on the center before “Save”.
{% endhint %}

### Conditions Library

This new system resource allows you to save the conditions created to add them later or assign them to another player on the circuit. In this way, if the same triggers have to be put into operation on a regular basis, the project conditions can be configured only once and implemented when necessary in an agile and simple way.

If you need to load a previously saved condition, click the “Add from library” button, and choose the desired condition from the project conditions library selector.

<figure><img src="/files/h6K79UPGsc9r2uD0eZvB" alt=""><figcaption><p>Conditions</p></figcaption></figure>


---

# 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://docs.admira.com/english/deployment/conditional-assignment.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.
