# Reunión personalizada ¿Qué necesitas? with Samuel Rodríguez

> ¡Bienvenido a mi calendario de disponibilidad! Sigue las instrucciones para agendar una cita en mi calendario. Paso 1: Registra tu correo electrónico para ponerme en contacto contigo. Seleccione un día y una hora que haya disponible. Elija su medio de contacto preferido para la videollamada. Importante: Intente que el horario coordine con su propia disponibilidad. Paso 2: Una vez seleccionado el día y la hora, y el medio de contacto preferido, recibirá un enlace por Google Meet o Zoom, según sea su preferencia. Guarde este enlace hasta la fecha acordada, esté atento a su correo electrónico, apunte o sincronice la fecha de nuestro día agendado en su Calendario de Google. ¡Es muy simple! 🙂‍↕️ Si le surge algún inconveniente o no puede asistir a nuestra reunión privada, por favor, cancele la cita, avise por correo electrónico: Email: samuel@rumboinfinito.com O contácteme dando click aquí. La primera vídeo-llamada es solo una presentación y una evaluación para conocer tu punto de partida.

- Host: Samuel Rodríguez
- Duration: 15, 30, 60 min
- Location: Tenerife, Google Meet
- Host time zone: Atlantic/Canary
- Confirmation: Bookings are confirmed instantly.
- Booking page: https://cal.com/samuelroguez/reunion-personalizada
- Event type id: 3977770

## Check availability

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

- Required fields: `name` (Your name), `email` (Email address), `select` (Servicios)
- Optional fields: `mapa_ruta` (Mapa de ruta), `notes` (¿Te gustaría añadir algo más?), `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.
- `lengthInMinutes` picks one of 15, 30, 60; pass the same value to the slots request as `duration`.
