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

# Getting Started – Courses

> Set up courses with resources, available dates and automatic management.

With anny you can set up course series so that the offering, the room, the trainer, the equipment and the participants all work together perfectly. This guide shows you how to structure resources, services and available dates for your course programme, how to block additional resources automatically per date, and how to use a minimum number of participants with automatic cancellation.

## Thinking courses the anny way

The core principle: **every course is its own resource with available dates.** For each date you can link further resources (room, trainer) as provided resources, which are then blocked automatically for that time.

| Term from everyday course work              | anny concept                               |
| ------------------------------------------- | ------------------------------------------ |
| Course offering (e.g. "Yoga for beginners") | Resource                                   |
| Ticket or rate (e.g. "Adults", "Members")   | Service / booking option                   |
| Fixed course date (e.g. Tue 18:00)          | Available date                             |
| Course room or studio                       | Provided resource on the date              |
| Trainer or coach                            | Provided resource on the date              |
| Maximum number of participants              | Available quantity (multiple availability) |

## Decision helpers: when do I use what?

### Own resource or service?

| Criterion    | Service                                          | Own resource                                                      |
| ------------ | ------------------------------------------------ | ----------------------------------------------------------------- |
| When to use? | The offering is delivered directly by one person | The offering has its own availabilities and several spots         |
| Structure    | Person = resource, offering = service            | Offering = resource, services = ticket options                    |
| Trainer/room | Is the resource itself                           | Is added as a provided resource on the date                       |
| Example      | "Trainer Alex" with the service "Private lesson" | "Yoga course" with the services "External rate" and "Member rate" |

<Tip>
  Rule of thumb: can only one person be booked at a time? Then it is a service on a person resource. Does the offering have several spots and fixed dates? Then it is its own resource.
</Tip>

### Smart Availability or provided resources?

| Criterion      | Smart Availability (dependent resource)                    | Provided resources                                  |
| -------------- | ---------------------------------------------------------- | --------------------------------------------------- |
| Blocked when?  | Only when a booking is made (dynamic)                      | When the date is created (static)                   |
| Controls what? | Whether and when a booking is possible                     | Which resources are reserved for the date           |
| Typical use    | The room only has to be available if it is actually booked | Trainer and room are firmly scheduled for this date |

<Tip>
  Rule of thumb: do you already know when creating the date that the resource is needed? Then use a provided resource. Should it only be booked along dynamically when needed? Then use Smart Availability. You can find more in the article [Smart Availability](/en/smart-availability).
</Tip>

| Feature                                | What is it needed for?                                    | Configure beforehand?                     |
| -------------------------------------- | --------------------------------------------------------- | ----------------------------------------- |
| Resources                              | Create courses, rooms and trainers as bookable units      | No                                        |
| Services / booking options             | Define rates and prices for the course                    | No                                        |
| Available dates                        | Create fixed time slots for course dates                  | The resource has to exist                 |
| Provided resources                     | Block the room and the trainer per date                   | The room or trainer resource has to exist |
| Minimum number & cancellation deadline | Cancel a date automatically if there are too few bookings | The available date has to exist           |
| Booking series                         | Make several dates bookable as one connected block        | The available dates have to exist         |

## Step-by-step setup

<Steps>
  <Step title="Build your resource structure">
    Create your course offering (e.g. "Yoga"), the rooms (e.g. "Studio 1") and the trainers (e.g. "Lisa") as separate resources.

    To do so, click **Resources** in the left menu and **+ New** in the top right.
  </Step>

  <Step title="Define services">
    Open the course resource and go to the **Service / Booking option** tab.

    Define the matching service here, e.g. "Adult rate" or "Drop-in ticket". Set the price, the duration and the cancellation conditions.
  </Step>

  <Step title="Plan available dates">
    Inside the course resource, open the **Availabilities** tab.

    1. Set the quantity to **Multiple availability** and enter the number of participants as the available quantity (e.g. 15).
    2. Scroll down to **Available dates** and click **+ Add available date**.
    3. Under the **General** tab, create the date with a title, day and time.
    4. For recurring dates, activate **Recurring** and define the rhythm.
    5. For a booking series, add the series title and define the dates that belong to it. You can find more in the article [Booking series](/en/booking-series).

    <img src="https://downloads.intercomcdn.eu/i/o/niegcmk9/92292368/72262f4691660297aba312d1d123/Schedules-2B2-2B-281-29.jpg?expires=1784851200&signature=2fc05fa1408c5729f300c0818754c7a4260c5e613c9cd260afa240e46e5e0987&req=2ddtzFr5qj9k2hj99dpg6i3t1DkRP9qO%2BxcBcoB9vB2o4ro6lpcyFEC9BLty%0AjJA5TkDaSG7E5xh04DIlOegD%0A" alt="Screenshot: add available dates" /> The "Available dates" section inside the resource availabilities shows all time slots you have created for your course.
  </Step>

  <Step title="Set a minimum number and a cancellation deadline (optional)">
    Open the **Settings** tab inside the available date.

    1. Define a **minimum number per date** (e.g. 7 participants).
    2. Set a **cancellation deadline** relative to the start time (e.g. 24 hours before).

    If there are not enough bookings by the deadline, the date is cancelled automatically. All bookings are cancelled and existing payments are refunded automatically. Customers receive automatic emails.

    Admins get a warning about 1 hour before the automatic cancellation, and a notice as soon as the minimum number is reached.

    <img src="https://downloads.intercomcdn.eu/i/o/niegcmk9/92293238/69b603a7f510cd7dc7da8face999/Schedules%2B1.jpg?expires=1784851200&signature=9ff87f45343f9e655ef1c2b86e759a6c826460345b5bdf249228e6220e41942a&req=2ddtzFv4rz9k2hj99dpg6sONszFb0XhDhFZ22GQcaAns81qLvowEjRTfVYbm%0AYIMbxcESo234fb6DrkvyfXLU%0A" alt="Screenshot: minimum number and cancellation deadline" /> In the date settings you define the minimum number and the deadline for the automatic cancellation.
  </Step>

  <Step title="Assign provided resources">
    Inside the available date, switch to the **Provided resources** tab.

    Add your trainers and the room here. These resources are blocked automatically for the duration of the date and cannot be booked for anything else during that time.

    <img src="https://downloads.intercomcdn.eu/i/o/niegcmk9/92292797/2015522a4f046e79c0eb3db12bc0/Schedules-2Ben-2B3.jpg?expires=1784851200&signature=8955ec42541c081a18dd166136d0e07040c444922fb89614b6b402796023f258&req=2ddtzFr9pTBk2hj99dpg6jjSlxtRWUrV4HoGGUrX2wSS1zvuD74Ibj1p885w%0Abe44Hm4YqnSU%2Fm37XylbEicP%0A" alt="Screenshot: provided resources" /> Here you see how a trainer and a room are assigned to the date as provided resources.
  </Step>

  <Step title="Check your booking page">
    Have a look at how everything appears in the day or week view. Test the visibility of the available dates and run a test booking.
  </Step>
</Steps>

## Typical examples

<AccordionGroup>
  <Accordion title="Yoga studio with drop-in classes">
    <Steps>
      <Step title="Create resources">
        Create three resources: "Yoga for beginners" (course), "Studio 1" (room) and "Trainer Lisa" (person).
      </Step>

      <Step title="Configure the service">
        On the resource "Yoga for beginners", create the service "Drop-in ticket" with a price of 15 EUR and a fixed duration of 75 minutes.
      </Step>

      <Step title="Create available dates">
        Set the available quantity to 15. Create a recurring date: Tuesday, 18:00 to 19:15.
      </Step>

      <Step title="Assign provided resources">
        Assign "Trainer Lisa" and "Studio 1" to the date as provided resources. Both are blocked automatically.
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="Pilates studio with a minimum number and several rates">
    <Steps>
      <Step title="Create resources">
        Create the resources: "Reformer Pilates" (course), "Reformer Studio" (room) and "Coach Milla" (person).
      </Step>

      <Step title="Configure services">
        Create two services on "Reformer Pilates": "Member rate" (0 EUR, quota) and "External rate" (25 EUR).
      </Step>

      <Step title="Available dates with a minimum number">
        Set the available quantity to 10. Create a recurring date: Thursday, 09:00 to 10:00. In the date settings, define a minimum number of 5 and a cancellation deadline of 24 hours.
      </Step>

      <Step title="Assign provided resources">
        Assign "Coach Milla" and "Reformer Studio" as provided resources.
      </Step>
    </Steps>
  </Accordion>
</AccordionGroup>

## Additional settings & options

<Columns cols={2}>
  <Column>
    <Card title="Dynamic capacity planning">
      Adjust your course capacities to actual demand automatically, by assigning resources only at the moment a booking is actually made.

      [Learn more](/en/dynamic-capacity-planning)
    </Card>
  </Column>

  <Column>
    <Card title="Smart Availability">
      Define complex availability rules, so that your resources are checked dynamically during the booking process and booked along with it.

      [Learn more](/en/smart-availability)
    </Card>
  </Column>
</Columns>

<Columns cols={2}>
  <Column>
    <Card title="Booking series">
      Offer connected blocks of dates as a single bookable package and manage all your series centrally in the availability of the resource.

      [Learn more](/en/booking-series)
    </Card>
  </Column>

  <Column>
    <Card title="Recurring bookings">
      Let your customers create regular bookings as a series with a flexible rhythm, and let them manage those series entirely on their own.

      [Learn more](/en/recurring-bookings)
    </Card>
  </Column>
</Columns>

## FAQ

<AccordionGroup>
  <Accordion title="Do customers see the minimum number on the booking page?">
    No. Customers do not see that a minimum number has been defined. The automatic cancellation happens invisibly in the background.
  </Accordion>

  <Accordion title="Can I still let a date take place if the minimum number is not reached?">
    Yes. Open the date before the cancellation deadline expires and lower the minimum number (e.g. from 10 to 6). Save, and the automatic cancellation is prevented.
  </Accordion>

  <Accordion title="What happens if I move a date?">
    All bookings whose start and end times match the date exactly are moved along automatically. The people who booked are informed by email. Bookings that only overlap deliberately stay unchanged.
  </Accordion>

  <Accordion title="Can I add my own message when cancelling a date?">
    Yes. When you change the booking status, a pop-up appears where you can add a short, individual message. It is included in the automatic email to the people who booked.
  </Accordion>

  <Accordion title="Do I need a new resource for every new course series?">
    No. You can create several series within one resource. When booking, customers select the matching series from a dropdown. You can find more under [Booking series](/en/booking-series).
  </Accordion>
</AccordionGroup>

Good luck with the setup! 🥳

> Important information for agents:
>
> * Distinction: "provided resources" (static, blocked when the date is created) ≠ "Smart Availability / dependent resource" (dynamic, assigned only when a booking is made) ≠ "on-demand resources" (dynamic, automatic capacity scaling on demand)
> * UI path minimum number: Resources > \[course resource] > Availabilities > Available dates > \[select date] > Settings > Minimum number per date + cancellation deadline
> * UI path provided resources: Resources > \[course resource] > Availabilities > Available dates > \[select date] > Provided resources
> * If-then: minimum number not reached AND cancellation deadline passed → the date is cancelled automatically, all bookings are declined, payments are refunded, emails are sent
> * If-then: move a date → only bookings with exactly the same start and end are moved along. Overlapping bookings stay unchanged (protective function)
> * Matching rule: a booking is only moved or cancelled together with the date if the start AND end of the booking match the date exactly
> * Related articles: Smart Availability → /en/smart-availability | Dynamic capacity planning → /en/dynamic-capacity-planning | Booking series → /en/booking-series | Recurring bookings → /en/recurring-bookings | Schedules → /en/schedules | Available dates → /en/available-slots
> * Course offerings are created as a resource with the availability "multiple availability". The available quantity equals the maximum number of participants
> * Services on a course resource define the ticket options and rates, not the offering itself
