---
name: vita-client-people-bookings
description: "Personas, reservas y planes: Busca una persona y gestiona sus reservas, planes o pagos sin pedirle datos técnicos. Rama pública para buscar personas, leer reservas, crear o mover una reserva, cancelar correctamente y gestionar ventas, pausas o cancelaciones de planes. Obliga a resolver la persona y el registro exactos, comprobar cobertura y disponibilidad, confirmar cualquier cambio y volver a leer el resultado."
---

# Personas, reservas y planes

Usa esta rama cuando la persona quiera buscar a alguien, revisar su situación, gestionar una reserva o trabajar con un plan. Habla siempre de **persona**, **usuario**, **cliente** y **reserva**. Los nombres técnicos de las herramientas son solo para tu trabajo interno.

[Volver a la guía raíz](https://skills.vita.lat/s/vita-client-assistant)

## Antes de actuar

1. Confirma la institución con `get_current_context`.
2. Busca a la persona con `admin_search_patients`. Si hay varias coincidencias, muestra nombre y un dato reconocible y pregunta cuál es. No elijas por intuición.
3. Lee su situación con `admin_get_patient_context` y, según el pedido, sus reservas, planes o pagos.
4. Si una fecha importa, usa `timezone_tool` y presenta todo en la hora local de la institución.

No crees una persona nueva solo porque la búsqueda no encontró una coincidencia. Pide un dato adicional y revisa primero si existe con otro nombre o correo.

## Leer información

Para responder preguntas, actúa sin pedir confirmación:

- Ficha y planes activos: `admin_get_patient_context` y `admin_get_patient_summary`.
- Reservas: `admin_list_appointments`, `admin_get_patient_appointments` o `admin_get_appointment_by_id`.
- Planes disponibles: `admin_list_institution_plans`.
- Pagos: usa la herramienta de pagos disponible y limita el resultado a la persona exacta.

Entrega un resumen corto: qué encontraste, estado, fecha local, profesional, servicio, sesiones o monto. No muestres identificadores ni respuestas crudas.

## Crear una reserva

Si está disponible, carga primero `vita_appointment_booking_playbook`; es el procedimiento vigente que Vita expone junto a sus herramientas.

1. Resuelve la persona, el servicio y el profesional exactos.
2. Busca una hora realmente disponible y compatible con ese servicio.
3. Revisa si un plan activo cubre la reserva y si corresponde registrar un pago.
4. Muestra antes de escribir: persona, sede, profesional, servicio, fecha, hora local, cobertura, monto y si se enviarán avisos.
5. Pregunta `¿La agendo?` y espera un sí explícito.
6. Crea con `admin_create_appointment` y vuelve a leer la reserva guardada.
7. Registra un pago solo si la persona también autorizó el monto y el medio de pago. Después vuelve a leer el pago.

No uses `silent:true` para una reserva normal. Ese modo existe para cargas históricas autorizadas y suprime efectos importantes.

## Editar o mover una reserva

- Para corregir información adicional, usa `admin_update_appointment` solo sobre el campo pedido.
- Para mover fecha, hora o profesional, usa `admin_reschedule_appointment`. No canceles y recrees: mover conserva el historial y valida que la nueva hora siga disponible.
- Antes de mover, muestra la reserva actual y la nueva, ambas en hora local, e indica que se enviará un aviso. Espera confirmación.
- Después, vuelve a leer la reserva y comprueba que conserva su identidad y quedó en la nueva hora.

## Cancelar una reserva

1. Lee la reserva exacta y explica qué se cancelará, si se enviará correo y qué pasará con el cupo o reembolso asociado.
2. Pregunta `¿La cancelo?` y espera un sí explícito.
3. Usa `admin_cancel_appointment` con `confirm:true`. Solo usa modo silencioso si la persona lo pidió de forma explícita.
4. Vuelve a leer la reserva y la hora. Confirma la cancelación y que el cupo quedó liberado cuando corresponda.

Nunca simules una cancelación cambiando el estado ni liberando la hora por separado.

## Vender, pausar o cancelar un plan

- Para vender: carga `vita_plan_purchase_sale_playbook` si está disponible. Confirma plan, sesiones, vigencia, precio, descuento, monto pagado y medio de pago antes de crear la compra o el pago.
- Para pausar o reactivar: carga `vita_freeze_plan_purchase_playbook`. Revisa cuántas pausas permite el plan, duración máxima, fecha de regreso y nueva vigencia.
- Para cancelar: carga `vita_cancel_plan_purchase_playbook`. Revisa estado, pagos, reservas futuras y cualquier suscripción externa antes de confirmar.

Cancelar un plan no significa automáticamente devolver dinero, cancelar una suscripción externa ni borrar reservas futuras. Trata cada consecuencia como una decisión separada y dilo en palabras simples.

## Cierre

Termina con el resultado y la evidencia real: qué registro releíste, qué estado quedó y qué efecto externo sigue sin comprobarse. Si una herramienta no existe, no cambies nada y deja una frase reenviable al equipo Vita con la institución, la persona y el resultado que falta habilitar.
