*MCP › Reference › Operations › Planner*

# List the services to cover

> Returns the staff and fleet services of a date window, with who covers them and which resources are needed.

It returns ROWS, not services: each service comes as one `summary` row (`rowKind: summary`, with `staffMemberId` and `vehicleId` always null) and one `detail` row per person or vehicle assigned to it, all sharing the same `orderServiceId`. Group by `orderServiceId`: a service is uncovered when it only has its `summary` row, and covered when it has `detail` rows with an assignee, so a null on the summary row does not mean "uncovered". Internal services (not tied to an order) come with `orderId` and `orderNumber` empty and a `serviceId` that starts with `is_`. The identifier used to assign is `orderServiceId`.

TOOL `filmo_planner_services_list` · `planner:read` · 120/min · Server annotation: Read-only · Server annotation: Idempotent

## Arguments

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `startDate` | string<date-time> | Yes | Window start, in ISO 8601 with offset. |
| `endDate` | string<date-time> | Yes | Window end, in ISO 8601 with offset. |
| `serviceType` | string | No | Which services to fetch. Defaults to both. `crew`, `fleet`, `both` |
| `orderStatus` | string | No | Filter by status of the order they are attached to. `draft`, `reserved`, `all` |
| `projectId` | string | No | Limit to one project. |

## Result

On success the result carries `structuredContent` with `data` and `meta`. These are the attributes of `data`.

| Name | Type | Description |
| --- | --- | --- |
| `orderServiceId` | string | Service line identifier. It is the one passed when assigning. |
| `rowKind` | string | Which row this is. A service comes as ONE `summary` row (the service itself, with `staffMemberId` and `vehicleId` always null) plus one `detail` row per person or vehicle assigned to it, all with the same `orderServiceId`. A service is covered when it has `detail` rows with an assignee, and uncovered when it only has the `summary` row. `summary`, `detail` |
| `orderId` | string | Order the service is attached to; an empty string on internal services, which belong to no order. |
| `orderNumber` | string | Human-readable number of that order; an empty string on internal services. |
| `orderStatus` | string | Order status. |
| `contactName` | string | Customer of the order; null if not recorded. |
| `projectId` | string | Associated project; null if not applicable. |
| `projectName` | string | Project name; null if not applicable. |
| `serviceId` | string | Catalogue service it comes from. |
| `serviceName` | string | Service name. |
| `serviceType` | string | Type: crew, fleet or general. |
| `staffMemberId` | string | Assigned staff member. Only `detail` rows carry it; it is null on the `summary` row even when the service is covered. |
| `vehicleId` | string | Assigned vehicle. Only `detail` rows carry it; it is null on the `summary` row even when the service is covered. |
| `startDate` | string<date-time> | Service start in ISO 8601 UTC. |
| `endDate` | string<date-time> | Service end in ISO 8601 UTC. |
| `status` | string | Service line status. |
| `qty` | number | How many units of the service are requested. |
| `taskId` | string | Linked schedule task; null if there is none. |
| `requirements` | object[] | Resources needed to cover it. |
| `requirements.requiredResourceType` | string | What is needed: personnel or vehicle. `personnel`, `vehicle` |
| `requirements.qty` | number | How many are needed. |

*Call · 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"
    }
  }
}
```

*Result (generated from the schema)*

```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
      }
    }
  }
}
```

## The same operation by REST

This tool runs [`GET /api/v1/planner/services`](https://docs.filmo.io/rest-api/endpoint-reference/planner/list-the-services-to-cover).

---

Canonical URL: https://docs.filmo.io/mcp/tools/planner/filmo-planner-services-list  
Last updated: 2026-10-25