# Tech and Software Consulting Hour with James Westover

- Host: James Westover
- Duration: 60 min
- Location: MS Teams
- Host time zone: Europe/Berlin
- Confirmation: The host confirms each booking; it stays pending until they accept it.
- Payment: required, and collected on the booking page.
- Booking page: https://cal.com/jameswestover/consulting-hour
- Event type id: 6879120

## Check availability

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

- Required fields: `name` (Name), `email` (Email), `github-handle` (Your GitHub username or org), `repo-url` (Repository to review (invite nds-helper, read-only)), `goal` (What do you want from the hour? The problem, decision, or review.), `bot-pass-consent` (I consent to an automated read-only review and analysis of the invited repo by Westover Labs bots to prepare for this consultation.), `title` (Title)
- Optional fields: `stack` (Stack (languages / frameworks / infra) - optional), `notes` (Notes), `guests` (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.
