# Office Hours👌 at 🔥 Ops Lab with Travis Fish

> I’m opening up 2 weekly 30-minute slots to meet new people, help a colleague or connection, or do something genuinely useful. Think we could 🤔 solve a problem,🚰 unblock a challenge you have, 🤝 make a connection, 🪓 sharpen a plan, 🔭 explore an idea, book a slot. I’m a connector, fixer, problem solver and supporter - especially in hospitality operations, with founders, and in B2B tech.

- Host: Travis Fish
- Duration: 30 min
- Location: Google Meet, WhatsApp
- Host time zone: Europe/London
- Confirmation: Bookings are confirmed instantly.
- Booking page: https://cal.com/travis/oh
- Event type id: 4152054

## Check availability

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

- Required fields: `name` (Your name), `email` (Email address), `enquirytypeofficehours` (I'm interested in), `title` (What would you most like out of the meeting?)
- Optional fields: `attendeePhoneNumber` (Phone number), `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.
