# Let's Talk Mobile with Joe Masilotti

> A 30-minute call to discuss your mobile app goals. Come prepared to share what you're building, where your Rails app is today, and any timeline constraints. I'll help you figure out which engagement makes sense (or if you need an app at all).

- Host: Joe Masilotti
- Duration: 30 min
- Location: Zoom Video
- Host time zone: America/Los_Angeles
- Confirmation: Bookings are confirmed instantly.
- Booking page: https://cal.com/joemasilotti/mobile
- Event type id: 4593655

## Check availability

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

- Required fields: `name` (Your name), `email` (Email address), `service` (Which service are you interested in?), `what` (What do you need help with?)
- Optional fields: `website` (Company Website), `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.
