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

# Creating Reservations

> Learn how to create reservations through the API

Creating a reservation requires a 3-step process:

<Steps>
  <Step title="Find the division you want to reserve for" />

  <Step title="Find available slots and their offerings" />

  <Step title="Create the reservation" />
</Steps>

## Step 1: Find Division

Use the divisions endpoint to find the division ID you want to reserve for.

```bash theme={null}
GET /v1/organizations/{organization}/divisions
```

The response includes division IDs needed to filter slots in the next step.

<Card title="List Divisions" icon="building" href="/api/divisions/list-divisions">
  Get available divisions
</Card>

## Step 2: Find Slots & Offerings

Query available slots and include the rates to see what offerings are available.

```bash theme={null}
GET /v1/organizations/{organization}/slots?filter[division_id]={division_id}&filter[date]={date}&include=rates
```

**Filters:**

* `filter[division_id]` - Filter by division
* `filter[date]` - Filter by date (YYYY-MM-DD)

**Include:**

* `include=rates` - Returns available offerings/rates per slot

Each rate includes:

* `id` - The rate ID (used when creating a reservation)
* `offering_type` - Either `ticket` or `bundle`
* `offering_id` - The ID of the ticket or bundle
* `offering_name` - Human-readable name
* `price` - Price in cents

<Card title="List Slots" icon="calendar" href="/api/slots/list-slots">
  Find available time slots
</Card>

## Step 3: Create Reservation

Create the reservation with customer details and entries.

```bash theme={null}
POST /v1/organizations/{organization}/reservations
```

**Request Body:**

```json theme={null}
{
  "customer": {
    "first_name": "John",
    "last_name": "Doe",
    "email": "john@example.com",
    "phone": "+15145551234"
  },
  "entries": [
    {
      "rate_id": "310476121357873154"
    }
  ]
}
```

**Entry fields:**

* `rate_id` - The rate ID from the slot's included rates
* `first_name` (optional) - Attendee first name
* `last_name` (optional) - Attendee last name

<Card title="Create Reservation" icon="ticket" href="/api/reservations/create-reservation">
  Create a new reservation
</Card>

## Important Notes

### Terms & Conditions

When creating reservations through the API, you are responsible for collecting and storing terms and conditions acceptance from your customers. The API does not track T\&C acknowledgment for partner-created reservations.

Ensure your booking flow includes appropriate terms acceptance before calling this endpoint.
