# Estimate walkthrough with Jace with Alex

> The walkthrough is free, and Jace does it himself. He writes the estimate and runs the build, so the number comes from the man who has to build to it. You get the exact scope in writing, not a range that moves later.

- Host: Alex
- Duration: 30 min
- Location: In Person (Attendee Address)
- Host time zone: America/Chicago
- Confirmation: Bookings are confirmed instantly.
- Booking page: https://holsco.cal.com/alex/estimate
- Event type id: 6601562

## Check availability

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

- Required fields: `name` (your_name), `email` (Email address), `attendeePhoneNumber` (Best number to call or text)
- Optional fields: `notes` (What should Jace look at first?), `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 required: `location.address` is the attendee’s own.
