Skip to main content

¿Qué es un Servicio?

Un servicio representa cualquier prestación que tu clínica ofrece a los pacientes: corte de pelo, manicura, consulta médica, tratamiento facial, etc. Cada servicio tiene configuraciones específicas que determinan cómo se agenda y cuánto cuesta.

Campos de un Servicio

nombre
string
required
Nombre descriptivo del servicio (ej: “Corte de Pelo Caballero”, “Consulta General”)
duration_min
integer
required
Duración del servicio en minutos (ej: 30, 45, 60). Determina los slots disponibles en la agenda.
precio
decimal
Precio del servicio en la moneda configurada. Puede dejarse vacío si el precio varía según el caso.
categoría
string
Categoría para organizar servicios (ej: “Peluquería”, “Estética”, “Salud”)
proveedor
uuid
Proveedor específico asignado a este servicio. Si se asigna, solo ese proveedor puede realizarlo.
recursos
array
Recursos físicos requeridos (ej: sala de operaciones, equipo especial). Sistema verifica disponibilidad.
buffer_before_min
integer
Tiempo de preparación antes del servicio en minutos (ej: 15 min para desinfectar sala)

Estados de Servicio

EstadoDescripciónVisibilidad
ActivoServicio disponible para agendar citasVisible en formulario de citas
InactivoServicio desactivado temporalmenteNo visible, citas existentes se mantienen
EliminadoServicio eliminado permanentementeNo visible, no se puede recuperar
Tip: Es mejor desactivar un servicio que eliminarlo si quieres preservar el historial de citas pasadas.

Flujos Principales

Mejores Prácticas

Configura duraciones que incluyan tiempo de preparación y limpieza. Ejemplo: si un corte toma 25 minutos pero necesitas 5 min para limpiar, usa 30 minutos de duración total.
Si tu servicio es común (corte de pelo, manicura, etc.), importa desde el catálogo en lugar de crear desde cero. Ahorrarás tiempo y tendrás configuraciones estándar.
Si cualquier proveedor puede realizar el servicio, déjalo sin asignar. Esto maximiza la disponibilidad de slots.
Agrupa servicios similares en categorías (ej: “Peluquería”, “Barbería”, “Estética”). Facilita búsquedas y reportes.
Si necesitas tiempo entre citas para desinfectar o preparar equipos, usa buffer_before_min. Ejemplo: 15 min antes de una cirugía menor.

Integración con el Sistema

ServiceMapper (Búsqueda Inteligente)

El sistema usa fuzzy matching para buscar servicios cuando un usuario agenda por WhatsApp. Ejemplo:
  • Usuario dice: “Quiero un corte”
  • Sistema busca servicios con nombres similares: “Corte de Pelo”, “Corte Caballero”, “Corte y Barba”
  • Muestra el servicio más similar (threshold: 0.05)
Usa nombres descriptivos y consistentes para que el bot encuentre servicios correctamente. Evita abreviaciones extrañas.

Disponibilidad de Slots

La duración del servicio (duration_min) determina:
  1. Cuántos slots caben en el horario del proveedor
  2. A qué hora empiezan los slots (ej: servicio de 30 min → slots cada 30 min: 10:00, 10:30, 11:00)
  3. Cuándo termina la cita (ej: cita a las 10:00 + 30 min → termina a las 10:30)
Si cambias la duración de un servicio, afecta la disponibilidad futura pero NO modifica citas ya agendadas.

Próximos Pasos