# Weekly Lesson Slot with Klavier Haus Private Academy

> Your recurring weekly piano lesson slot.

- Host: Klavier Haus Private Academy
- Duration: 30 min
- Location: Piano Room (Mech. Eng. Dept.), Big Blue Button
- Host time zone: Asia/Tehran
- Confirmation: The host confirms each booking; it stays pending until they accept it.
- Booking page: https://cal.com/klavierhaus/weekly-lesson-slot
- Event type id: 3963357

## Check availability

```http
GET https://api.cal.com/v2/slots?eventTypeId=3963357&start=YYYY-MM-DD&end=YYYY-MM-DD&timeZone=<IANA time zone>
cal-api-version: 2024-09-04
```

The response is `{"data":{"YYYY-MM-DD":[{"start":"<ISO 8601 with offset>"}]}}`; no API key is needed.

## Book

```http
POST https://api.cal.com/v2/bookings
cal-api-version: 2026-02-25
Content-Type: application/json

{
  "eventTypeId": 3963357,
  "start": "<UTC ISO 8601 start from the slots response>",
  "attendee": {
    "name": "…",
    "email": "…",
    "timeZone": "<IANA time zone>"
  },
  "bookingFieldsResponses": {
    "attendeePhoneNumber": "…",
    "Gender": "…",
    "Klavier-Haus-Private-Academy": "…",
    "Proficiency": "…",
    "Terms_and_Conditions": "…",
    "Name": "…",
    "EmailAddress": "…",
    "PhoneNumber": "…",
    "CustomGender": "…",
    "SocialMediaPlatforms": "…",
    "Medical": "…"
  }
}
```

- Required fields: `name` (Your name), `email` (Email address), `attendeePhoneNumber` (Phone number), `Gender` (Gender), `Klavier-Haus-Private-Academy` (Telegram ID), `Proficiency` (Level of Proficiency | Kompetenzniveau), `Terms_and_Conditions` (I agree to [Terms and Conditions of Service](https://klavierhaus.pages.dev/legal/). | Ich stimme den [Allgemeinen Geschäftsbedingungen](https://klavierhaus.pages.dev/de/legal/) zu.)
- Optional fields: `Name` (Preferred Name | Bevorzugter Name), `EmailAddress` (Additional Email Address | Zusätzliche E-Mail-Adresse), `PhoneNumber` (Additional Phone Numbers | Zusätzliche Telefonnummern), `CustomGender` (Custom Gender | Benutzerdefiniertes Geschlecht), `SocialMediaPlatforms` (Other Social Media Platforms | Andere Social-Media-Plattformen), `Medical` (Allergies and Special Medical Accommodation Requirements | Allergien und besondere medizinische Unterbringungsanforderungen)
- `name` and `email` go in `attendee` and `guests` is a list of emails; every other field goes in `bookingFieldsResponses` under its name.
- `location` is optional; without it the booking uses the event’s first location.
- A successful response is a pending booking request.
