# Session management

Sessions are the backbone of your meet schedule. Each session is a block of time where a group of gymnasts competes together in your venue. You use sessions to organize who competes when, what apparatus they rotate through, and how the day flows from warmup to awards.

## What sessions do

A session serves two purposes:

1. **Gymnast organization.** You add gymnasts through their competition subdivisions and assign them to squads (their starting positions on each apparatus).
2. **Timeline management.** You define the competition schedule -- warmup times, rotation times, breaks, and awards.

{% hint style="info" %}
**Flexible scheduling.** You can combine multiple competition levels and age groups into a single session. Sessions can also overlap in time, which is useful for large meets with multiple gyms or areas running at once.
{% endhint %}

{% hint style="success" %}
**Auto-assignment available.** Gym Art Meets includes a squad generation tool that distributes gymnasts across rotations while respecting team affiliations and skill levels. It handles the hard part so you can focus on fine-tuning.

For details, see: [Squad Generation](/scheduling/squad-generation.md)
{% endhint %}

## Creating a session

1. Go to your meet dashboard and click **Sessions** in the sidebar.
2. Click the **New Session** button.
3. Fill in the session details:
   * **Session Name** -- something descriptive like "Session 2 - Saturday PM"
   * **Description** -- optional notes
   * **Date** -- pick a day within your meet's date range
   * **Start Time** -- sets the baseline for your timeline
   * **Timeline** -- choose from a template or build your own
4. **Add competitions.** Competitions are subdivisions of age groups from your configured levels. Each level and age group combination creates a competition subdivision. Select the ones that belong in this session, and the gymnasts from those competitions are pulled in automatically.

{% hint style="info" %}
**Where do competitions come from?** They are generated from the levels and age groups you set up in your meet configuration. For details, see: [Levels and Age Groups](https://github.com/Gym-Art-Inc/gym-art-nexus/blob/main/docs/levels-and-age-groups/README.md)
{% endhint %}

## The session list

The Sessions page shows all your sessions in a card-based grid. Each card displays the session name, date and time, rotations, timeline summary, participating clubs, and competition levels.

**What you can do from the list:**

* Click the green **Session Dashboard** button to open a session's full management view
* Click on any rotation, timeline, or club section on a card to jump to that specific view
* Use the three-dot menu to **delete** a session (removes it and all its assignments) or **duplicate** it (copies timeline and settings without gymnast assignments)

**Filtering options:** search by name, filter by status (upcoming or past), filter by level, or filter by day.

## The session dashboard

When you open a session, the dashboard gives you the full picture:

* **Total gymnasts** in the session, plus how many are assigned to squads vs. still unassigned
* **Levels** and **clubs** represented
* Quick-access buttons to the gymnast list, squad list, and timeline

From here, you can manage gymnast placements, create and adjust squads, and build out the competition timeline.

## What's next

* [Manage the gymnast list](/scheduling/session-gymnast-list.md) -- see who is in the session and manage competitions
* [Organize squads](/scheduling/squad-list.md) -- create rotation groups and assign apparatus starting positions
* [Build the timeline](/scheduling/session-timeline.md) -- set detailed competition schedules

## Related

* [Create a session](/scheduling/create-a-session.md)
* [Squad generation](/scheduling/squad-generation.md)
* [Scheduling overview](/scheduling/index.md)


---

# 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.gymart.org/scheduling/session-management.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.
