> ## Documentation Index
> Fetch the complete documentation index at: https://help.avoca.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# How to set up Fees and Rulesets?

## Overview

Fees in Avoca allow you to configure what your AI agent will quote to customers when booking appointments. By setting up fees and rulesets, you ensure that your bot quotes the correct pricing based on booking windows, job types, call timing, and other conditions.

<Note>
  **Important:**

  To use the Fees feature, your account must have Booking Windows enabled. If you don't see the Fees tab in your dashboard, please contact your Customer Success Manager.
</Note>

## Where to Configure Fees

Navigate to **Scheduling > Fees** in your Avoca Dashboard. You'll see two main tabs:

* **Fees** - Where you create and manage your fee definitions
* **Rulesets** - Where you attach fees to specific booking windows and conditions

## Step 1: Creating Fees

Before you can apply fees to booking windows, you need to create them first.

<Frame>
  <img src="https://mintcdn.com/avoca-hc/aKCt1qDjplbTpJS8/images/responder/image-10.png?fit=max&auto=format&n=aKCt1qDjplbTpJS8&q=85&s=6f5afeddc0ffeb19e1a946d9351d3f32" alt="" width="2938" height="1368" data-path="images/responder/image-10.png" />
</Frame>

### To Create a Fee:

<Steps>
  <Step>
    Go to **Scheduling > Fees**
  </Step>

  <Step>
    Click **Add Fee**
  </Step>

  <Step>
    Fill in the three required fields:

    <Frame>
      <img src="https://mintcdn.com/avoca-hc/aKCt1qDjplbTpJS8/images/responder/image-11.png?fit=max&auto=format&n=aKCt1qDjplbTpJS8&q=85&s=f272e334df7ac2249d7dd61d4ebf0408" alt="" width="1160" height="1126" data-path="images/responder/image-11.png" />
    </Frame>

    **Name** (for your reference)

    * Example: "Standard Service Call," "Emergency After Hours," "Member Maintenance"

    **Applies To** (description of when this fee applies)

    * This is informational text that helps the bot answer questions about fees
    * The bot uses this description when customers ask "What are your fees?" or similar questions
    * Example: "Regular business hours service calls for non-members"

    **Fee Amount** (what the bot will quote)

    * This is freeform text by design for maximum flexibility
    * You can specify member vs non-member pricing, fees per unit, per inspection, etc.
    * Examples:
      * "\$89 for non-members, \$49 for members"
      * "\$150 service fee"
      * "\$75 per unit inspected"
  </Step>

  <Step>
    Click **Save**

    <Tip>
      **Pro Tip:**

      If you have different pricing for members vs non-members, include both prices in a single fee (e.g., "$89 for non-members, $49 for members"). Don't create separate fees for each, as this can cause conflicts.
    </Tip>
  </Step>
</Steps>

## Step 2: Configuring Fee Rulesets

Rulesets determine **which fee** the bot will quote **when** based on the conditions you set. This is where you attach your fees to specific booking windows and scenarios.

<Frame>
  <img src="https://mintcdn.com/avoca-hc/aKCt1qDjplbTpJS8/images/responder/image-12.png?fit=max&auto=format&n=aKCt1qDjplbTpJS8&q=85&s=466fc7b2c4ac8713e02e76fb919840e2" alt="" width="2936" height="1386" data-path="images/responder/image-12.png" />
</Frame>

### To Create a Ruleset:

<Steps>
  <Step>
    Go to **Scheduling > Fees > Rulesets** tab
  </Step>

  <Step>
    Click **Add Fee Ruleset**
  </Step>

  <Step>
    Select the fee you want to create rules for
  </Step>

  <Step>
    Configure the conditions:

    <Frame>
      <img src="https://mintcdn.com/avoca-hc/aKCt1qDjplbTpJS8/images/responder/image-13.png?fit=max&auto=format&n=aKCt1qDjplbTpJS8&q=85&s=e02ed94e49308af6a150e6211e2dc784" alt="" width="2314" height="1310" data-path="images/responder/image-13.png" />
    </Frame>

    ### Available Conditions:

    **Booking Windows** (most commonly used)

    * Select which booking windows this fee applies to
    * You'll see the familiar booking windows interface
    * Check the boxes for all applicable service types, appointment types, and time slots

    <Frame>
      <img src="https://mintcdn.com/avoca-hc/aKCt1qDjplbTpJS8/images/responder/image-14.png?fit=max&auto=format&n=aKCt1qDjplbTpJS8&q=85&s=d4ccb3fe700538407e14b86f76a49b49" alt="" width="2298" height="1300" data-path="images/responder/image-14.png" />
    </Frame>

    **Call Time**

    * Apply fees based on when the customer calls
    * Useful for same-day booking surcharges
    * Example: If customer calls after 2 PM, charge an expedited fee

    <Frame>
      <img src="https://mintcdn.com/avoca-hc/aKCt1qDjplbTpJS8/images/responder/image-15.png?fit=max&auto=format&n=aKCt1qDjplbTpJS8&q=85&s=900c6ff3404b36f63232a668aff25952" alt="" width="2292" height="1308" data-path="images/responder/image-15.png" />
    </Frame>

    **Job Type**

    * Apply fees to specific job types only
    * Useful for specialized services like callbacks, maintenance, estimates
    * Example: Different fee for "Callback" vs "Repair"
  </Step>

  <Step>
    Click **Save**
  </Step>
</Steps>

## Step 3: Verifying Your Setup

After creating fees and rulesets, verify everything is configured correctly:

<Steps>
  <Step>
    Go to **Scheduling > Booking Windows**
  </Step>

  <Step>
    Click the **View Fees** tab
  </Step>

  <Step>
    You should see fees attached to all your booking windows

    <Frame>
      <img src="https://mintcdn.com/avoca-hc/aKCt1qDjplbTpJS8/images/responder/image-16.png?fit=max&auto=format&n=aKCt1qDjplbTpJS8&q=85&s=e17b95d4d99d63fbe76f484ba85807fb" alt="" width="2936" height="1162" data-path="images/responder/image-16.png" />
    </Frame>

    **To see detailed fee information:**

    * Click on any booking window
    * Review all fees that apply to that window
    * Confirm the bot will quote the correct fee based on your rulesets

    <Frame>
      <img src="https://mintcdn.com/avoca-hc/aKCt1qDjplbTpJS8/images/responder/image-17.png?fit=max&auto=format&n=aKCt1qDjplbTpJS8&q=85&s=19a0122003dafd0b62816de4efea678b" alt="" width="1354" height="564" data-path="images/responder/image-17.png" />
    </Frame>
  </Step>
</Steps>

## Common Scenarios & Solutions

### Scenario 1: Different Member vs Non-Member Pricing

**Problem:** You charge different rates for members and non-members

**Solution:** Create ONE fee with both prices in the Fee Amount field

* Example: "\$89 for non-members, \$49 for members"
* Create one ruleset that applies this fee to the relevant booking windows
* The bot will automatically reference the customer's membership status from ServiceTitan

### Scenario 2: Most Job Types Have One Fee, But Exceptions Exist

**Problem:** You have a standard service fee for all job types except callbacks

**Solution:**

<Steps>
  <Step>
    Create a "General Service Fee" with a ruleset that only specifies booking windows (no job type condition)
  </Step>

  <Step>
    Create a "Callback Fee" with a ruleset that specifies both the same booking windows AND the callback job type
  </Step>

  <Step>
    When booking callbacks, the bot will use the more specific ruleset (Callback Fee)
  </Step>
</Steps>

### Scenario 3: After-Hours or Emergency Fees

**Problem:** You charge higher rates for after-hours calls

**Solution:**

<Steps>
  <Step>
    Create separate fees for after-hours service
  </Step>

  <Step>
    In the ruleset, use both the Booking Windows condition AND the Call Time condition
  </Step>

  <Step>
    The bot will apply the after-hours fee when calls come in during those specified times
  </Step>
</Steps>

## Avoiding Common Issues

<Warning>
  **Avoiding Fee Conflicts:** If multiple rulesets apply to the same booking window without any distinguishing conditions, the bot will use the most recently created ruleset. This can cause unexpected behavior.

  **Best Practice:** Ensure each ruleset has enough specificity (using job type, call time, or clear fee amount descriptions) to avoid ties.
</Warning>

### Examples of What NOT to Do:

* ❌ Creating separate "Member HVAC Fee" and "Non-Member HVAC Fee" rulesets that both apply to the same booking windows
* ❌ Creating multiple generic rulesets without using job type or call time conditions to differentiate them

### Examples of What TO Do:

* ✅ Include both member and non-member pricing in one fee
* ✅ Use job type conditions to differentiate between callback fees and regular service fees
* ✅ Use call time conditions to differentiate between same-day and future appointments

## Need Help?

If you have questions about setting up fees and rulesets for your specific business needs, please contact your Customer Success Manager or submit a support ticket through the Avoca Dashboard.
