# Let's Connect with Luke Ford

> Software engineer and founder in Brisbane. React, Node.js, PostgreSQL, AI - full stack, shipped end to end. I build my own products (VeroID, Recon, Kerbly, Bench Club) and act as the technical partner for founders who need architecture ownership, not just delivery. Best used for the hard early calls: what stack, what to build first, how to ship in weeks not quarters.

- Host: Luke Ford
- Duration: 15, 30, 60 min
- Location: Google Meet
- Host time zone: Australia/Brisbane
- Confirmation: Bookings are confirmed instantly.
- Booking page: https://cal.com/lukeford/letschat
- Event type id: 513069

## Check availability

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

- Required fields: `name` (Your name), `email` (Email address)
- 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.
- `lengthInMinutes` picks one of 15, 30, 60; pass the same value to the slots request as `duration`.
