Disponibilidad

Corregir o cerrar una indisponibilidad

Con action: "edit" corrige las fechas o el tipo; con action: "finish_now" la cierra en este instante, que es el caso de "volvió antes".

Herramienta
filmo_unavailabilities_update
Acceso: Escritura

Resultado

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "filmo_unavailabilities_update",
    "arguments": {
      "unavailabilityId": "unav_8f2a1c",
      "action": "edit",
      "expectedUpdatedAt": "2026-09-01T08:00:00Z"
    }
  }
}

generado desde el esquema

expectedUpdatedAt es el bloqueo optimista: cópialo de la lectura y, si alguien la tocó entretanto, la petición se rechaza con 409 conflict y no se escribe nada; léela de nuevo y reintenta. edit solo se aplica a una indisponibilidad manual que aún no ha empezado: la creada por una tarea o por un horario se cambia desde su origen, y una que ya empezó solo se puede cerrar; ambas responden 409. Su nuevo inicio tiene que ser posterior a ahora y su fin posterior a su inicio (400 validation_error con errors[0].path en el campo, igual que con un absenceType de otro tipo de recurso), y en un espacio la nueva ventana no puede caer sobre sus reservas (409). finish_now solo cierra una indisponibilidad en curso —unavailable, ya empezada y aún no terminada—, también una que viene de un horario; cualquier otra responde 409, y también la creada por una tarea. warningCount es siempre 0 aquí: los compromisos que se solapan se cuentan cuando se declara la indisponibilidad. En un espacio responde 503 service_unavailable mientras las indisponibilidades de espacios estén desactivadas para la cuenta.

Argumentos

unavailabilityIdstringObligatorio

Identificador de la indisponibilidad.

Límites: longitud mín. 1

actionstringObligatorio

"edit" corrige la indisponibilidad; "finish_now" la cierra ahora mismo.

Opciones disponibles: edit, finish_now

expectedUpdatedAtstring<date-time>Obligatorio

Fecha de la última modificación que leíste. Si no coincide, se rechaza la petición.

startDatestring<date-time>

Nuevo inicio.

endDatestring<date-time>

Nuevo fin.

absenceTypestring | null

Nuevo tipo de ausencia; null lo borra.

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

reasonstring | null

Nuevo motivo; null lo borra. 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 PATCH /api/v1/availability/unavailabilities/{unavailabilityId}.

  • Disponibilidad

    Corregir o cerrar una indisponibilidad

    Con action: "edit" corrige las fechas o el tipo; con action: "finish_now" la cierra en este instante, que es el caso de "volvió antes".

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