# Discovery Call with Brian Tomlinson

> This is an initial introduction and discovery chat about your project. We spend 30 minutes figuring out where you are, what's not working, and what you're trying to build. No pitch. No pressure. Just clarity on whether I can help.

- Host: Brian Tomlinson
- Duration: 30 min
- Location: Google Meet
- Host time zone: Europe/Berlin
- Confirmation: The host confirms each booking; it stays pending until they accept it.
- Booking page: https://cal.com/briantomlinson/discovery
- Event type id: 5207541

## Check availability

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

- Required fields: `name` (Your name), `email` (Email address), `title` (What is this meeting about?)
- Optional fields: `notes` (Additional notes), `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.
- A successful response is a pending booking request.
