# Invite Attila to speak with Attila Fejér

> A conversation about a talk or a workshop for your conference, meetup, or company. Attila speaks about engineering judgment for the AI era, software craftsmanship, Extreme Programming, and clean architecture. We go through the topic, the audience, and the format together. https://craftosphere.com

- Host: Attila Fejér
- Duration: 30 min
- Location: Google Meet, Phone call
- Host time zone: Europe/Budapest
- Confirmation: Bookings are confirmed instantly.
- Booking page: https://cal.com/craftosphere/speaking
- Event type id: 7545997

## Check availability

```http
GET https://api.cal.com/v2/slots?eventTypeId=7545997&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": 7545997,
  "start": "<UTC ISO 8601 start from the slots response>",
  "attendee": {
    "name": "…",
    "email": "…",
    "timeZone": "<IANA time zone>"
  },
  "guests": [
    "guest@example.com"
  ],
  "bookingFieldsResponses": {
    "event-format-audience": "…",
    "company-and-role": "…",
    "date-of-event": "…"
  }
}
```

- Required fields: `name` (Your name), `email` (Email address), `event-format-audience` (Event, format, audience)
- Optional fields: `company-and-role` (Company and role), `date-of-event` (Date of event (if known)), `guests` (Add guests)
- `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.
