# Conditional Rules

***

#### **What are conditional rules?** <a href="#what-are-conditional-rules" id="what-are-conditional-rules"></a>

*Conditional rules* are additional filters on top of a message template's schedule. They determine **if** a scheduled message should actually be sent to the guest, based on the reservation's details.

Where the schedule ("When") decides *at what moment* a message goes out, a conditional rule decides *whether* it goes out at all. A template can hold multiple rules — all active rules must pass for the message to be sent. If any rule fails, the message is skipped.

<figure><img src="/files/UJhADqruZWAcRDRj9dtN" alt=""><figcaption></figcaption></figure>

#### **Rules and Scheduling** <a href="#rules-and-scheduling" id="rules-and-scheduling"></a>

Conditional rules are evaluated at the scheduled moment of sending. This means:

* A message is still scheduled as normal based on the reservation timing.
* At the moment of sending, we check all active rules against the reservation.
* If one or more rules don't match, the message is skipped for that reservation.

This allows you to re-use a single message template across many reservations while still tailoring *who* actually receives it.

#### **Activation** <a href="#activation" id="activation"></a>

Every conditional rule has an active/inactive toggle. An inactive rule is ignored during evaluation, so you can temporarily disable a rule without deleting it. This is useful for seasonal rules that you'd like to re-use later in the year.

***

#### Rule Types <a href="#rule-types" id="rule-types"></a>

There are three types of conditional rules available.

#### **1. Date Range** <a href="#id-1-date-range" id="id-1-date-range"></a>

Send only if the reservation's check-in or check-out date falls within (or outside) a specific period.

* **Field** - The reservation date to check against.
  * *Check-in Date* - evaluates the reservation's arrival date.
  * *Check-out Date* - evaluates the reservation's departure date.
* **Operator**
  * *Between* - the selected date must fall inside the start and end dates.
  * *Not between* - the selected date must fall outside the start and end dates.
* **Start Date / End Date** - the boundaries of the period.

**Example:** A "Winter welcome" message that should only go out to guests checking in between `2026-12-01` and `2027-02-28`. Use *Check-in Date* + *Between* with those dates.

<figure><img src="/files/wpPMJHkVcppmYX1MIU2e" alt=""><figcaption></figcaption></figure>

#### **2. Check-in Status** <a href="#id-2-check-in-status" id="id-2-check-in-status"></a>

Send based on whether the guest has already checked in at the moment the message is scheduled to be sent.

* **Operator**
  * *Equals* - the guest's check-in status must match the selected value.
  * *Not Equals* - the guest's check-in status must not match the selected value.
* **Status**
  * *Checked In* - the guest has completed check-in.
  * *Not Checked In* - the guest has not yet completed check-in.

**Example:** A reminder "Don't forget to check in" should only go out to guests who haven't checked in yet. Use *Equals* + *Not Checked In*.

**Note:** this rule is only meaningful for messages scheduled around or after the check-in moment. A message scheduled three days before arrival will always evaluate as "Not Checked In".

<figure><img src="/files/aroF4Yux8NIH34Tb4OFw" alt=""><figcaption></figcaption></figure>

#### **3. Stay Date**

Send based on whether one or more specific dates fall within the guest's stay (from check-in to check-out).

* **Operator**
  * *Any in stay* - at least one of the selected dates must fall within the guest's stay.
  * *None in stay* - none of the selected dates may fall within the guest's stay.
* **Dates** - one or more specific dates. Add dates one by one using the date picker. Each added date is shown as a tag and can be removed.

**Example:** A "Happy New Year" message that should go to guests staying on December 31st. Add `2026-12-31` with *Any in stay*. Any reservation overlapping that date will receive the message, regardless of whether the guest checked in that day or was mid-stay.

**Example:** A rule to exclude guests whose stay overlaps a local holiday when a specific service isn't available. Add the holiday dates with *None in stay*.

<figure><img src="/files/YSEjWVardJRxJjHA5wWG" alt=""><figcaption></figcaption></figure>

***

#### **Combining Rules** <a href="#combining-rules" id="combining-rules"></a>

A message template can have multiple conditional rules at the same time. All active rules must pass — they are combined with AND logic. For example, a template with both a *Date Range* rule (check-in in December) and a *Check-in Status* rule (Not Checked In) will only be sent for December check-ins who haven't checked in yet.

If you need OR logic (e.g. "send to summer *or* winter guests"), create separate message templates instead of combining rules on one template.

***

#### Frequently Asked Questions <a href="#frequently-asked-questions" id="frequently-asked-questions"></a>

<details>

<summary>What happens if I add a rule to a message template that was already scheduled?</summary>

Rules are evaluated at the moment of sending, not at the moment of scheduling. This means adding or changing a rule affects all future sends, including messages that were already scheduled before the rule was added.

</details>

<details>

<summary>Can I deactivate a rule instead of deleting it?</summary>

Yes. Every rule has an active toggle. An inactive rule is ignored during evaluation, so you can keep seasonal or situational rules around without them affecting the template.

</details>

<details>

<summary>Why is my message not being sent even though the schedule is correct?</summary>

If a conditional rule doesn't match, the message is skipped at sending time. Check the active rules on the template and verify that the reservation meets all of them. Remember: all active rules must pass (AND logic).

</details>

<details>

<summary>Can I use conditional rules in combination with listing filters?</summary>

Yes. Listing connections and conditional rules work independently. A message will only be considered if the reservation's listing is connected to the template *and* all active rules pass.

</details>


---

# 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://support.holidayhero.com/the-basics/communication/conditional-rules.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.
