TURNO · Agente de reservas y citas
Una conversación puede convertirse en una cita organizada
Un prototipo con código a medida para un agente de citas: reglas del servicio, horarios disponibles y confirmación local de reservas. Explora la automatización y cómo podría conectarse con Google Calendar.
Prototipo propio · Código a medida · Demo guiada
¿Qué problema resolvería?
Reservar requiere coordinar duración del servicio, horarios de atención, tiempo entre citas y compromisos existentes. El agente propuesto guiaría ese proceso mediante una conversación.
Disponibilidad con reglas
Servicios de 30 y 60 minutos, horarios de atención, bloques ocupados y márgenes de 15 minutos implementados en TypeScript.
Confirmación explícita
El horario se valida de nuevo antes de registrar la reserva de ejemplo. Los horarios ocupados dejan de estar disponibles en esta vista.
Un adaptador de calendario
El código incluye adaptadores separados para consultar disponibilidad y crear eventos en Google Calendar con autorización del servidor.
01 / Experiencia de uso
Explora el prototipo
La interfaz ejecuta reglas locales con datos de ejemplo. Las respuestas son guiadas; la inferencia de IA y los servicios externos no están activos.
TURNO/ Reservas y citas
Software a medida · Prototipo interactivo
Semana de ejemplo · Noviembre de 2026
Horarios disponibles
America/Mexico_City · UTC−06:00
No se solicitan datos personales. Las reservas duran hasta reiniciar o recargar esta vista.
TURNO · Resumen de reserva
Elige un horario. Comprobaré las reglas del servicio antes de registrar la cita de ejemplo.
Registro de ejecución
Reglas del servicio cargadas
30 min · 15 min entre citas
Agenda de ejemplo consultada
Se aplican horarios de atención y bloques ocupados.
Horarios disponibles calculados
El horario se valida de nuevo antes de confirmar.
Google Calendar API v3Adaptador preparado
Escenarios guiados con datos de ejemplo. Las reglas se ejecutan en tu navegador; el modelo de IA y las cuentas externas están pendientes de conectar. Reiniciar borra esta prueba.
La automatización, paso a paso
- 01
Servicio y fecha
- 02
Reglas del negocio
- 03
Disponibilidad
- 04
Confirmación del usuario
- 05
Registro de reserva
02 / Detrás de la interfaz
Código real, con cada conexión explicada
Estos fragmentos se extraen de los archivos fuente del proyecto al compilar la web. Cada pestaña indica si el código se ejecuta en la demo o pertenece a un adaptador pendiente de conectar.
Se ejecuta en la demo
Los horarios de atención, bloques ocupados, duración y márgenes determinan qué horas se ofrecen.
export function availableSlots(date: string, duration: number, bookings: DemoBooking[]) {
if (!demoDates.some(day => day === date) || ![30, 60].includes(duration)) return []
const busy = [{ start: 10 * 60, end: 11 * 60 }, ...bookings.filter(b => b.date === date)]
return Array.from({ length: (close - open) / 30 }, (_, index) => {
const start = open + index * 30
const end = start + duration
const available = end + buffer <= close && !busy.some(event =>
overlaps({ start, end: end + buffer }, { start: event.start, end: event.end + buffer }))
return { start, end, available }
})
}
Ver el archivo completo en GitHubConexiones y estado de implementación
| Componente | Responsabilidad | Estado actual |
|---|---|---|
| Motor de reservas | Intervalos, márgenes y validación | Implementado en la demo |
| Registro de reservas | Estado en memoria de la vista actual | Implementado; se borra al recargar |
| API v3 de Google Calendar | Adaptadores freeBusy y events | Preparado; sin cuenta conectada |
| Modelo de IA | Contratos de herramientas en JSON Schema | Diseñado; sin modelo conectado |
Referencias de API revisadas el 21 de octubre de 2026: Google Calendar · freeBusy · Google Calendar · events.insert
