*MCP › Referencia › Operaciones › Planificador*

# Listar los servicios por cubrir

> Devuelve los servicios de personal y flota de una ventana de fechas, con quién los cubre y qué recursos hacen falta.

Devuelve FILAS, no servicios: cada servicio llega como una fila `summary` (`rowKind: summary`, con `staffMemberId` y `vehicleId` siempre null) y una fila `detail` por cada persona o vehículo asignado, todas con el mismo `orderServiceId`. Agrupa por `orderServiceId`: un servicio está sin cubrir cuando solo tiene su fila `summary`, y cubierto cuando tiene filas `detail` con una persona asignada, así que un null en la fila de resumen no significa "sin cubrir". Los servicios internos (no ligados a un pedido) llegan con `orderId` y `orderNumber` vacíos y un `serviceId` que empieza por `is_`. El identificador que se usa para asignar es `orderServiceId`.

HERRAMIENTA `filmo_planner_services_list` · `planner:read` · 120/min · Anotación del servidor: Solo lectura · Anotación del servidor: Idempotente

## Argumentos

| Nombre | Tipo | Obligatorio | Descripción |
| --- | --- | --- | --- |
| `startDate` | string<date-time> | Sí | Inicio de la ventana, en ISO 8601 con desplazamiento. |
| `endDate` | string<date-time> | Sí | Fin de la ventana, en ISO 8601 con desplazamiento. |
| `serviceType` | string | No | Qué servicios obtener. Por defecto, ambos. `crew`, `fleet`, `both` |
| `orderStatus` | string | No | Filtra por estado del pedido al que están asociados. `draft`, `reserved`, `all` |
| `projectId` | string | No | Limita a un proyecto. |

## Resultado

En un éxito el resultado lleva `structuredContent` con `data` y `meta`. Estos son los atributos de `data`.

| Nombre | Tipo | Descripción |
| --- | --- | --- |
| `orderServiceId` | string | Identificador de la línea de servicio. Es el que se pasa al asignar. |
| `rowKind` | string | Qué fila es esta. Un servicio llega como UNA fila `summary` (el propio servicio, con `staffMemberId` y `vehicleId` siempre null) más una fila `detail` por cada persona o vehículo asignado, todas con el mismo `orderServiceId`. Un servicio está cubierto cuando tiene filas `detail` con un asignado, y descubierto cuando solo tiene la fila `summary`. `summary`, `detail` |
| `orderId` | string | Pedido al que está asociado el servicio; una cadena vacía en los servicios internos, que no pertenecen a ningún pedido. |
| `orderNumber` | string | Número legible de ese pedido; una cadena vacía en los servicios internos. |
| `orderStatus` | string | Estado del pedido. |
| `contactName` | string | Cliente del pedido; null si no consta. |
| `projectId` | string | Proyecto asociado; null si no aplica. |
| `projectName` | string | Nombre del proyecto; null si no procede. |
| `serviceId` | string | Servicio del catálogo del que procede. |
| `serviceName` | string | Nombre del servicio. |
| `serviceType` | string | Tipo: crew, fleet o general. |
| `staffMemberId` | string | Miembro del personal asignado. Solo lo llevan las filas `detail`; es null en la fila `summary` aunque el servicio esté cubierto. |
| `vehicleId` | string | Vehículo asignado. Solo lo llevan las filas `detail`; es null en la fila `summary` aunque el servicio esté cubierto. |
| `startDate` | string<date-time> | Inicio del servicio en ISO 8601 UTC. |
| `endDate` | string<date-time> | Fin del servicio en ISO 8601 UTC. |
| `status` | string | Estado de la línea de servicio. |
| `qty` | number | Cuántas unidades del servicio se solicitan. |
| `taskId` | string | Tarea de la agenda vinculada; null si no hay ninguna. |
| `requirements` | object[] | Recursos necesarios para cubrirlo. |
| `requirements.requiredResourceType` | string | Lo necesario: personal o vehículo. `personnel`, `vehicle` |
| `requirements.qty` | number | Cuántos hacen falta. |

*Llamada · filmo_planner_services_list*

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "filmo_planner_services_list",
    "arguments": {
      "startDate": "2026-09-01T08:00:00Z",
      "endDate": "2026-09-01T08:00:00Z"
    }
  }
}
```

*Resultado (generado desde el esquema)*

```json
{
  "structuredContent": {
    "data": [
      {
        "orderServiceId": "orde_8f2a1c",
        "rowKind": "summary",
        "orderId": "orde_8f2a1c",
        "orderNumber": "<orderNumber>",
        "orderStatus": "<orderStatus>",
        "contactName": "Example",
        "projectId": "proj_8f2a1c",
        "projectName": "Example",
        "serviceId": "serv_8f2a1c",
        "serviceName": "Example",
        "serviceType": "<serviceType>",
        "staffMemberId": "staf_8f2a1c",
        "vehicleId": "vehi_8f2a1c",
        "startDate": "2026-09-01T08:00:00Z",
        "endDate": "2026-09-01T08:00:00Z",
        "status": "<status>",
        "qty": 1,
        "taskId": "task_8f2a1c",
        "requirements": [
          {
            "requiredResourceType": "personnel",
            "qty": 1
          }
        ]
      }
    ],
    "meta": {
      "rateLimit": {
        "limit": 120,
        "remaining": 119,
        "reset": 42
      }
    }
  }
}
```

## La misma operación por REST

Esta herramienta ejecuta [`GET /api/v1/planner/services`](https://docs.filmo.io/es/rest-api/endpoint-reference/planner/list-the-services-to-cover).

---

URL canónica: https://docs.filmo.io/es/mcp/tools/planner/filmo-planner-services-list  
Última actualización: 2026-10-25