Disponibilidad

Declarar una indisponibilidad

Declara que un recurso no está disponible en una ventana: vacaciones, un mantenimiento, un cierre.

Herramienta
filmo_unavailabilities_create
Acceso: Escritura

Resultado

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "filmo_unavailabilities_create",
    "arguments": {
      "resourceType": "staff",
      "resourceId": "reso_8f2a1c",
      "startDate": "2026-09-01T08:00:00Z",
      "endDate": "2026-09-01T08:00:00Z",
      "state": "available"
    }
  }
}

generado desde el esquema

reason se ACEPTA y no se devuelve: se queda en Filmo para quien tenga acceso. Para una persona o un vehículo, los compromisos que se solapan no bloquean: la indisponibilidad se registra y warningCount indica cuántos compromisos ya reservados se solapan con ella. Un espacio es distinto: declararlo unavailable en una ventana en la que está reservado responde 409 conflict y no se escribe nada, así que en un espacio warningCount es siempre 0. También responde 409 si ya existe una indisponibilidad idéntica (mismo recurso, ventana, estado, tipo y motivo). Responde 400 validation_error, con errors[0].path en el campo, cuando endDate no es posterior a startDate, cuando resourceId no existe o pertenece a otra cuenta, y cuando absenceType no es uno de los de su tipo de recurso: vacation, sick, personal, training u other para el personal; maintenance, inspection, repair, reserved u other para los vehículos; academic, maintenance, event, closure u other para los espacios. En un espacio responde 503 service_unavailable mientras las indisponibilidades de espacios estén desactivadas para la cuenta.

Argumentos

resourceTypestringObligatorio

Qué recurso se declara no disponible.

Opciones disponibles: staff, vehicle, space

resourceIdstringObligatorio

Identificador de ese recurso.

Límites: longitud mín. 1

startDatestring<date-time>Obligatorio

Inicio, en ISO 8601 con desplazamiento.

endDatestring<date-time>Obligatorio

Fin, en ISO 8601 con desplazamiento.

statestringObligatorio

Lo que se declara para esa ventana.

Opciones disponibles: available, unavailable, unknown

absenceTypestring

Tipo de ausencia.

Opciones disponibles: vacation, sick, personal, training, maintenance, inspection, repair, reserved, academic, event, closure, other

reasonstring

Motivo. Se guarda en Filmo y la API NO lo devuelve.

Límites: longitud máx. 500

idempotencyKeystring

Clave de idempotencia elegida por el cliente (se recomienda un UUID). Repetir la misma clave con los mismos argumentos en 24 h devuelve la respuesta almacenada sin volver a ejecutar; con argumentos distintos responde 422. Es la forma segura de reintentar tras un fallo de red.

Límites: longitud mín. 1, longitud máx. 255

Resultado

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

Ver los atributos de data
availabilityobject

La indisponibilidad tal como queda ahora.

Mostrar atributos hijos
availability.idstring

Identificador único de la indisponibilidad.

availability.resourceTypestring

Qué recurso: staff, vehicle o space.

availability.resourceIdstring

Identificador de ese recurso.

availability.resourceNamestring | null

Nombre del recurso; null si no consta.

availability.startDatestring<date-time>

Inicio de la indisponibilidad en ISO 8601 UTC.

availability.endDatestring<date-time>

Fin de la indisponibilidad en ISO 8601 UTC.

availability.statestring

Estado declarado. Este listado solo devuelve ventanas unavailable que aún no han terminado, así que aquí siempre es unavailable; available y unknown existen como declaraciones pero no se listan.

availability.absenceTypestring | null

Tipo de ausencia. Solo se emite para vehículos y espacios, donde es operativo; para el personal es un dato de salud y se devuelve como null.

availability.updatedAtstring<date-time> | null

Última modificación en ISO 8601 UTC; null si no está registrada.

warningCountinteger

Compromisos del recurso que se solapan con esta indisponibilidad.

Un error es un resultado con isError: true y el problema en content[0].text; no hay structuredContent. Consulta Errores.

La misma operación por REST

Esta herramienta ejecuta POST /api/v1/availability/unavailabilities.

  • Disponibilidad

    Declarar una indisponibilidad

    Declara que un recurso no está disponible en una ventana: vacaciones, un mantenimiento, un cierre.

  • Guías

    Escrituras seguras

    Un asistente que puede escribir también puede escribir lo equivocado. Decide qué herramientas necesitan a una persona, reintenta sin duplicar y sabe qué pone en marcha una escritura.

  • Guías

    Errores

    Un error de herramienta es un resultado con isError: true y el problema en el primer bloque de texto. Ramifica por su code.