Saltar al contenido

Herramientas · Reservas y Agendamiento

Herramientas MCP de las Reservas (salas, mesas y estaciones) y del Agendamiento (horarios de personas): buscar lo que está libre, reservar con costo en créditos, reprogramar, cancelar, ausencia, invitación de calendario, salas, bloqueos, franjas de precio y aprobación de agendas. Rol mínimo y recetas.

El módulo Reservas y el Agendamiento con el asistente: buscar salas y horarios libres (con el costo en créditos y tu saldo), reservar, reprogramar, cancelar, marcar ausencia, descargar la invitación de calendario, registrar salas y mesas, bloquear horarios, definir precios y aprobar agendas de miembros. Los dos módulos usan las mismas herramientas de reserva; las de Agendamiento son las cinco últimas.

Cada herramienta lleva un sello: Solo consulta no cambia nada, Modifica crea o cambia algo al momento, y Pide confirmación solo actúa después de tu sí a un resumen. Consulta Dinero y confirmación.

En resumen

HerramientaQué haceRol mínimoTipo
search_booking_roomsEncuentra lo que cumple la solicitud, con costo y saldoCualquiera que vea el espacioSolo consulta
check_availabilityLos horarios libres y ocupados de un díaCualquiera que vea el espacioSolo consulta
list_booking_resourcesLas salas, mesas, estaciones y agendasCualquiera que vea el espacioSolo consulta
list_booking_amenitiesEl catálogo de comodidadesCualquieraSolo consulta
get_booking_resourceUna sala con las reglas ya resueltasCualquiera que vea el espacioSolo consulta
create_bookingReserva para ti y debita tus créditosCualquieraModifica
create_booking_for_memberReserva a nombre de un miembro, debitando sus créditosModerador (o finanzas)Pide confirmación
list_my_bookingsTus reservas (o las que hicieron contigo)CualquieraSolo consulta
list_bookingsTodas las reservas de la comunidadModerador (o finanzas)Solo consulta
get_bookingUna reservaTitular, anfitrión y equipoSolo consulta
cancel_bookingCancela y reembolsa según la reglaTitular, anfitrión y equipoPide confirmación
reschedule_bookingCambia el horario y ajusta los créditosTitular, anfitrión y equipoPide confirmación
mark_booking_no_showMarca la ausenciaEquipo y anfitriónModifica
get_booking_icsLa invitación de calendario (.ics)Titular, anfitrión y equipoSolo consulta
create_booking_resourceCrea una sala, mesa o agendaAdministrador (salas)Modifica
update_booking_resourceEdita, cambia o quita la fotoAdministrador (salas)Modifica
delete_booking_resourceElimina (cancelando las reservas futuras)AdministradorPide confirmación
list_availability_exceptionsBloqueos y horarios extraCualquiera que vea el espacioSolo consulta
create_availability_exceptionBloquea o abre un períodoEquipo (salas)Modifica
cancel_bookings_for_closureBloquea cancelando las reservas del períodoEquipo (salas)Pide confirmación
delete_availability_exceptionQuita un bloqueo u horario extraEquipo (salas)Pide confirmación
list_price_rulesLas franjas de precio de una salaAdministradorSolo consulta
create_price_ruleCrea una franja de precioAdministradorModifica
update_price_ruleEdita una franjaAdministradorModifica
delete_price_ruleQuita una franjaAdministradorPide confirmación
get_scheduling_configLas reglas del Agendamiento y tus agendasCualquiera que vea el espacioSolo consulta
search_scheduling_hostsPersonas con horario libreCualquiera que vea el espacioSolo consulta
get_scheduling_hostLa página de una persona, con la cuadrículaCualquiera que vea el espacioSolo consulta
list_pending_scheduling_offersAgendas esperando aprobaciónAdministradorSolo consulta
set_booking_resource_listingAprueba o retira una agendaAdministradorModifica

"Equipo" es el propietario, el administrador, el moderador y finanzas. Los roles son los de las rutas: el asistente nunca hace más de lo que la persona conectada haría en la pantalla.

Los espacios se crean con create_space y module: "bookings" o "scheduling"; update_space cambia solo lo que envíes. El argumento bookings lleva los valores predeterminados de toda sala (slot_minutes, min_duration_minutes, max_duration_minutes, min_notice_minutes, max_advance_days, show_booker_name y opening_hours, con las claves mon a sun y períodos HH:MM); scheduling lleva los mismos y además offerers (ADMINS, TEAM o MEMBERS), allow_paid_slots y require_listing_approval.

Horarios. Los horarios que envías son siempre del reloj de la comunidad ("2026-11-03T14:00", sin sufijo). Costos. Reservar, reprogramar y cancelar mueven los créditos: el asistente dice el costo y el saldo antes de reservar. Sin créditos suficientes, la respuesta trae required, balance y shortfall; con el horario ocupado, trae los próximos horarios libres.

Buscar y consultar

search_booking_rooms

Solo consulta

Lo que cumple la solicitud. Da un inicio exacto (starts_at) o una franja del día (date con from y to), además de duración, capacidad y comodidades. Devuelve solo los recursos que cumplen, con las horas de inicio libres, el costo en créditos, canAfford y tu saldo, ordenados por el más temprano y luego por la menor capacidad; cuando nada sirve, next_slots lista los próximos horarios para la misma solicitud.

ParámetroTipoObligatorioDescripción
spaceid o enlaceSíEl espacio Reservas o Agendamiento
starts_atfecha y horaNoInicio exacto, hora local
date, from, todía AAAA-MM-DD, HH:MMNoLa franja de una búsqueda
duration_minutesnúmero, 5 o másNoDuración
capacitynúmeroNoCuántas personas deben caber
amenitieslista de clavesNoSe exigen todas (de list_booking_amenities)
kindROOM, DESK, STATION, OTHER o PERSONNoEl tipo
host_profile_ididNoSolo las agendas de esta persona

Pídelo así: "Necesito una sala para 6 personas mañana de 14:00 a 16:00, con proyector."

check_availability

Solo consulta

Libre y ocupado. Los horarios de un día (o de hasta 7), calculados a partir del horario semanal, los bloqueos y las reservas, cada uno libre con creditCost y canAfford. Nunca dice quién reservó, salvo que el espacio muestre el nombre.

ParámetroTipoObligatorioDescripción
spaceid o enlaceSí
dateAAAA-MM-DDNoEl día (por defecto: hoy)
days1 a 7NoCuántos días
resource_id, host_profile_ididNoUna sola sala, o una sola persona
duration_minutesnúmeroNoPor defecto: la reserva más corta

list_booking_resources

Solo consulta

Las salas. Salas, mesas, estaciones y agendas del espacio. El miembro ve solo las visibles, activas y abiertas a reservas; el equipo las ve todas. Parámetros: space (obligatorio), kind, host_profile_id, page, limit.

list_booking_amenities

Solo consulta

El catálogo de comodidades que acepta la comunidad (proyector, TV, pizarra, Wi-Fi…). Una clave fuera del catálogo se rechaza. Sin parámetros.

get_booking_resource

Solo consulta

Una sala con las reglas efectivas ya combinadas con los valores predeterminados del espacio (horario, intervalo, límites de duración, antelación, plazo de cancelación). Parámetro: resource_id.

Reservar

create_booking

Modifica

Reservar para ti. Reserva al momento (ya confirmada) y debita tus créditos en el mismo paso. Antes, el asistente dice el costo y el saldo. Para reservar a nombre de otro miembro, usa create_booking_for_member. La cortesía (waive_credits con waive_reason) es solo del propietario y del administrador. El correo de confirmación con la invitación de calendario entra en la cola. Devuelve creditCost y balanceAfter.

ParámetroTipoObligatorioDescripción
resource_ididSíDe list_booking_resources o de la búsqueda
starts_atfecha y horaSíHora local, p. ej. 2026-11-03T14:00
ends_at o duration_minutesfecha y hora o númeroUno de los dosPor defecto: la reserva más corta
attendee_countnúmeroNoCuántas personas
title, notestextoNoPara qué es y notas
waive_credits, waive_reasonverdadero o falso, textoNoCortesía, solo propietario y administrador

Pídelo así: "Reserva la Sala 2 mañana de 14:00 a 16:00 para 6 personas."

create_booking_for_member

Pide confirmación

Reservar a nombre de un miembro. Debita sus créditos (o sale gratis como cortesía, solo propietario y administrador, con waive_reason) y el miembro recibe el correo con la invitación. Antes de actuar, muestra un resumen con el miembro y su saldo y solo repite la llamada después de tu sí. Mismos parámetros y mismas respuestas que create_booking, más profile_id. Rol mínimo: moderador (o finanzas).

ParámetroTipoObligatorioDescripción
profile_ididSíEl miembro (list_members)

Pídelo así: "Reserva la Sala 1 el viernes a las 10:00 a nombre de María."

list_my_bookings

Solo consulta

Tus reservas, o, con as_host, las que hicieron las personas en la agenda que ofreces. Filtros: space, resource_id, status (lista, p. ej. CONFIRMED,NO_SHOW), from, to, order, page, limit. Cada una trae canCancel.

list_bookings

Solo consulta

Todas las reservas de la comunidad, con los mismos filtros. Rol mínimo: moderador (o finanzas).

get_booking

Solo consulta

Una reserva: sala, persona, horarios, situación, costo en créditos, si fue cortesía o cancelación tardía y lo que puede hacer quien pregunta. Solo el titular, el anfitrión y el equipo; otra persona recibe 404. Parámetro: booking_id.

Cambiar una reserva

cancel_booking

Pide confirmación

Cancelar. Si el titular cancela después del plazo (24 h por defecto), la cancelación se marca como tardía y puede perder los créditos; dentro del plazo, o cuando cancela el equipo o el anfitrión, el reembolso es completo. La persona recibe el correo y el evento se cancela en su calendario. Una reserva que ya ha empezado no se cancela (usa la ausencia). Muestra un resumen y solo actúa después de tu sí.

ParámetroTipoObligatorioDescripción
booking_ididSí
reasontextoNoVa en el correo

reschedule_booking

Pide confirmación

Reprogramar. Cambia el horario en la misma sala (lo que no envíes se queda, y la duración se mantiene). Mueve los créditos: un horario más caro debita la diferencia (sin saldo, la respuesta trae shortfall), uno más barato reembolsa, una cortesía no toca el libro. La invitación se actualiza y la persona recibe un correo. Muestra el resumen y devuelve charged, refunded y balanceAfter.

ParámetroTipoObligatorioDescripción
booking_ididSí
starts_at, ends_at, duration_minutesfecha y hora, númeroNoEl nuevo horario
attendee_countnúmeroNo

mark_booking_no_show

Modifica

Marcar la ausencia. Solo para una reserva confirmada que ya ha empezado. La comunidad decide si los créditos se pierden; la respuesta dice cuántos se devolvieron. Equipo y anfitrión. Parámetro: booking_id.

get_booking_ics

Solo consulta

La invitación de calendario, el mismo archivo del correo de confirmación, devuelto como texto en ics con el nombre del archivo (una reserva cancelada devuelve la cancelación). Parámetro: booking_id.

Salas, bloqueos y precios

create_booking_resource

Modifica

Crear una sala, mesa o agenda. kind es ROOM, DESK, STATION u OTHER (propietario y administrador); en el Agendamiento, PERSON: quién puede crear la agenda de una persona lo decide el offerers del espacio (un miembro crea solo la suya). El tipo no cambia después. Sin franja de precio, es gratis.

ParámetroTipoObligatorioDescripción
spaceid o enlaceSí
kindtipoSí
nametextoSíCómo la ven los miembros
description, capacity, units, amenitiesNounits: reservas simultáneas (1 = exclusiva)
bookable, active, listedverdadero o falsoNolisted solo propietario y administrador
meeting_urlenlaceNoEnlace de videollamada
opening_hourshorario semanalNoClaves mon a sun, períodos HH:MM
slot_minutes, min_duration_minutes, max_duration_minutes, buffer_minutes, min_notice_minutes, max_advance_days, cancellation_window_hoursnúmeroNoEn blanco, sigue al espacio
image_url o image_base64NoLa foto
owner_profile_ididNoAgendamiento, propietario y administrador: de quién es la agenda

update_booking_resource

Modifica

Editar. Cambia solo lo que envíes; cambia la foto con image_url o image_base64 y la quita con remove_image. Las reservas existentes conservan el precio. Parámetro resource_id más los campos de arriba. En el Agendamiento, quien ofrece edita su propia agenda, salvo listed.

delete_booking_resource

Pide confirmación

Eliminar. Con reservas futuras activas, la respuesta es 409 listándolas; con cancel_bookings: true, las cancela todas (reembolso completo y correo para cada persona) y elimina. Propietario o administrador.

list_availability_exceptions

Solo consulta

Bloqueos (CLOSED) y horarios extra (OPEN) de una sala de aquí en adelante. Parámetros: resource_id, from.

create_availability_exception

Modifica

Bloquear o abrir un período. kind es CLOSED (por defecto: mantenimiento, festivo) u OPEN (extra). Un bloqueo con reservas activas se rechaza con 409 listándolas: para cancelarlas, usa cancel_bookings_for_closure. Salas: el equipo; agendas de personas: quien ofrece y el propietario y el administrador.

ParámetroTipoObligatorioDescripción
resource_ididSí
starts_at, ends_atfecha y horaSíHora local
kindCLOSED u OPENNoPor defecto CLOSED
reasontextoNoAparece para quien tiene la reserva cancelada

cancel_bookings_for_closure

Pide confirmación

Bloquear cancelando. Bloquea el período y cancela toda reserva activa dentro de él: cada una se reembolsa completa, cada persona recibe el correo y el evento se cancela en su calendario. Dice cuántas se cancelaron. Úsala después de que create_availability_exception haya respondido 409 y la persona esté de acuerdo. Parámetros: resource_id, starts_at, ends_at, reason.

delete_availability_exception

Pide confirmación

Quitar un bloqueo u horario extra. Las reservas que el bloqueo ya canceló no regresan. Parámetros: resource_id, exception_id.

list_price_rules

Solo consulta

Las franjas de precio de una sala (la única fuente de precio; sin franja, es gratis). Vale la primera que encaja: fecha concreta, luego día de la semana, luego la predeterminada; el costo es por bloque, y cada bloque usa la franja en la que empieza. Propietario o administrador. Parámetro: resource_id.

create_price_rule

Modifica

Crear una franja. Por ejemplo, 3 créditos cada 30 minutos. Un horario ofrecido por un miembro siempre es gratis; en el Agendamiento, una franja de pago necesita Permitir horarios de pago en el espacio (409). El cobro en dinero aún no se hace.

ParámetroTipoObligatorioDescripción
resource_ididSí
modeFREE o CREDITSSí
block_minutes5 a 1440Con CREDITSEl tamaño del bloque
creditsenteroCon CREDITSCréditos por bloque
weekday0 (domingo) a 6NoEn blanco, todos los días
specific_dateAAAA-MM-DDNoVale más que el día de la semana
from_time, to_timeHH:MMNoEl tramo del día

update_price_rule

Modifica

Editar una franja (resource_id, rule_id, y solo lo que cambie). Las reservas ya hechas conservan el precio.

delete_price_rule

Pide confirmación

Quitar una franja. Sin ninguna, la sala queda gratis; las reservas ya hechas conservan el precio. Parámetros: resource_id, rule_id.

Agendamiento

get_scheduling_config

Solo consulta

Las reglas del espacio: quién ofrece (offerers), allowPaidSlots, requireListingApproval, si puedes ofrecer ahora, tus agendas y, para el propietario y el administrador, cuántas ofertas esperan aprobación. El horario de un miembro siempre es gratis. Parámetro: space.

search_scheduling_hosts

Solo consulta

Personas con horario libre. Cada una viene con sus agendas, cuántos horarios libres tiene y los próximos 3 (gratis o el costo en créditos, con canAfford) y tu saldo. Cuando nadie tiene horario, sugiere los más cercanos. Para reservar, usa create_booking.

ParámetroTipoObligatorioDescripción
spaceid o enlaceSí
qtextoNoParte del nombre
date, from, toNoEl día y la franja; sin día, los próximos 14
duration_minutes, host_profile_id, page, limitNo

get_scheduling_host

Solo consulta

La página de una persona, con la cuadrícula de horarios libres por día (1 a 7 días). Una persona sin agenda visible, que perdió el rol o de otra comunidad responde 404. Parámetros: space, profile_id, date, days, duration_minutes.

list_pending_scheduling_offers

Solo consulta

Agendas esperando aprobación, cada una con su dueño y si aún cumple la regla de quién ofrece. Propietario o administrador. Parámetro: space.

set_booking_resource_listing

Modifica

Aprobar o retirar una agenda. listed: true aprueba (la agenda aparece a los miembros); false la retira (no cancela ninguna reserva ya hecha, solo impide las nuevas). Reversible, sin confirmación. Propietario o administrador. Parámetros: resource_id, listed.

Relacionados