---
title: "Obtener Disponibilidad Completa"
method: POST
path: "/api/citas/obtener-disponibilidad"
tags: ["copilot_frontend", "citas"]
---

# Obtener Disponibilidad Completa

`POST /api/citas/obtener-disponibilidad`

## Request

- Base URL: `https://api.hogarsolar.es` (the document declares no server; this is the origin it was published from)
- URL: `https://api.hogarsolar.es/api/citas/obtener-disponibilidad`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/hogarsolar/apis/hogarsolar-backend-api/docs/api/citas/obtener-disponibilidad/post.ts> (a function with typed inputs; its response is checked against the schema)

**Endpoint Orquestador Principal** que obtiene toda la información necesaria para gestionar citas.

Este endpoint unifica la lógica de:
1. Obtener comerciales filtrados por modalidad
2. Obtener configuración de la modalidad
3. Obtener eventos existentes del comercial
4. Buscar slots disponibles para el día

Args:
    request: Datos de la solicitud (modalidad, fecha, cp_cliente, comercial_email)

Returns:
    DisponibilidadResponse con:
    - comerciales: Dict {nombre: email} de comerciales disponibles
    - modalidad_config: Configuración de la modalidad
    - slots_por_comercial: Dict {email: [slots]} de slots disponibles por comercial
    - eventos_por_comercial: Dict {email: [eventos]} de eventos existentes por comercial

**🔒 Endpoint Protegido:** Requiere autenticación JWT y rol 'ui_comercial', 'ui_citas' o 'admin'

**Ejemplo de uso:**
```json
POST /crm/citas/obtener-disponibilidad
{
    "modalidad": "visita",
    "fecha": "2025-01-15",
    "cp_cliente": "28001",
    "comercial_email": "comercial@hogarsolar.es"  // Opcional
}
```

## Request body

- ObtenerDisponibilidadRequest: Request para obtener disponibilidad completa de citas
  - `modalidad` string, required
  - `fecha` string, required
  - `cp_cliente` string, nullable
  - `comercial_email` string, nullable

## Response `200`

Successful Response

- DisponibilidadResponse: Response con toda la información de disponibilidad
  - `comerciales` object, required
  - `modalidad_config` object, required
  - `slots_por_comercial` object, required
  - `eventos_por_comercial` object, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/hogarsolar/apis/hogarsolar-backend-api.md) - [All operations](https://skmtc.dev/hogarsolar/apis/hogarsolar-backend-api/llms.txt) - [OpenAPI document](https://skmtc.dev/hogarsolar/apis/hogarsolar-backend-api/revisions/b4cc3cebfaaa?raw)
