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.

Tool
filmo_planner_services_list
Access: Read

Result

{
  "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"
    }
  }
}

generated from the schema

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.

Arguments

startDatestring<date-time>Required

Window start, in ISO 8601 with offset.

endDatestring<date-time>Required

Window end, in ISO 8601 with offset.

serviceTypestring

Which services to fetch. Defaults to both.

Available options: crew, fleet, both

orderStatusstring

Filter by status of the order they are attached to.

Available options: draft, reserved, all

projectIdstring

Limit to one project.

Limits: min length 1, max length 100

Result

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

Show the attributes of data
orderServiceIdstring

Service line identifier. It is the one passed when assigning.

rowKindstring

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.

Available options: summary, detail

orderIdstring

Order the service is attached to; an empty string on internal services, which belong to no order.

orderNumberstring

Human-readable number of that order; an empty string on internal services.

orderStatusstring

Order status.

contactNamestring | null

Customer of the order; null if not recorded.

projectIdstring | null

Associated project; null if not applicable.

projectNamestring | null

Project name; null if not applicable.

serviceIdstring

Catalogue service it comes from.

serviceNamestring

Service name.

serviceTypestring

Type: crew, fleet or general.

staffMemberIdstring | null

Assigned staff member. Only detail rows carry it; it is null on the summary row even when the service is covered.

vehicleIdstring | null

Assigned vehicle. Only detail rows carry it; it is null on the summary row even when the service is covered.

startDatestring<date-time>

Service start in ISO 8601 UTC.

endDatestring<date-time>

Service end in ISO 8601 UTC.

statusstring

Service line status.

qtynumber

How many units of the service are requested.

taskIdstring | null

Linked schedule task; null if there is none.

requirementsobject[]

Resources needed to cover it.

Show child attributes
requirements.requiredResourceTypestring

What is needed: personnel or vehicle.

Available options: personnel, vehicle

requirements.qtynumber

How many are needed.

An error is a result with isError: true and the problem in content[0].text; there is no structuredContent. See Errors.

The same operation by REST

This tool runs GET /api/v1/planner/services.

  • 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.

  • Guides

    Safe writes

    An assistant that can write can also write the wrong thing. Decide which tools need a person, retry without duplicating, and know what a write sets in motion.

  • Guides

    Errors

    A tool error is a result with isError: true and the problem in the first text block. Branch on its code.