---
name: skeen-agendar
description: >
  Agendamiento de citas para SKEEN Derma Experts.
  Consulta disponibilidad, crea citas, reagenda y cancela.
  Usar cuando el usuario quiera agendar, reagendar o cancelar una cita.
version: 1.0.0
metadata:
  hermes:
    requires:
      bins: [python]
    envVars:
      - name: ODOO_URL
        required: true
      - name: ODOO_DB
        required: true
      - name: ODOO_API_KEY
        required: true
    platforms: [whatsapp, webchat, cli]
    activation: keyword
    keywords: ["agendar", "cita", "hora", "reagendar", "cancelar", "disponibilidad"]
---

# SKEEN — Agendamiento de Citas

## Instrucciones de Uso

### PASO 1: Identificar intencion

- "Quiero agendar" / "Necesito una cita" → NUEVA CITA
- "Quiero cambiar mi cita" / "Reagendar" → REAGENDAR
- "Cancelar mi cita" → CANCELAR
- "Tengo una cita para manana?" → CONSULTAR

### PASO 2: Para NUEVA CITA

1. Pregunta que tipo de servicio desea (si no lo especifico):
   - Consulta dermatologica general ($800 MXN, 30 min)
   - Tratamiento facial ($1,200-$3,500 MXN, 45-90 min)
   - Depilacion laser (desde $500 MXN por zona, 15-60 min)
   - Peel quimico ($1,500 MXN, 30 min)
   - O consulta de valoracion gratuita (15 min)

2. Consulta disponibilidad usando el plugin `odoo_api_call`:
   Modelo: salon.booking, metodo: get_available_slots
   Argumentos: [service_id, date_from, date_to]

3. Presenta las 3 mejores opciones de horario

4. Cuando el paciente elige, confirma datos:
   - Nombre completo
   - Confirmar telefono
   - Alergias o condiciones especiales (opcional)

5. Crea la cita usando `odoo_api_call`:
   Modelo: salon.booking, metodo: create
   Datos: { name, phone, service_id, date, time, state: 'confirmed' }

6. Programa recordatorio via cron:
   ```bash
   hermes cron schedule --name "recordatorio-cita-[ID]" \
     --at "[fecha_cita] 18:00 - 1 day" \
     --command "skill skeen-recordatorios --phone [PHONE] --cita [DATE]"
   ```

7. Envia confirmacion via WACRM usando `wacrm_send`

### PASO 3: Para REAGENDAR

1. Busca citas del paciente por telefono via `odoo_api_call`
2. Muestra citas activas
3. Pide nueva fecha/hora
4. Consulta disponibilidad
5. Actualiza cita via `odoo_api_call` (model salon.booking, method write)
6. Confirma cambio

### PASO 4: Para CANCELAR

1. Busca citas del paciente por telefono
2. Confirma cual cita cancelar
3. Pide motivo (opcional, para estadisticas)
4. Cancela via `odoo_api_call` (state: 'cancelled')
5. Ofrece reagendar

## Formato de Confirmacion

Perfecto! Tu cita esta confirmada:

Servicio: [Nombre servicio]
Fecha: [Dia de semana], [DD] de [mes] de [AAAA]
Hora: [HH:MM] AM/PM
Duracion: [X] minutos
Direccion: Blvd. Popotla 123, Playas de Rosarito

Te enviaremos un recordatorio un dia antes. Si necesitas cambiar o cancelar, solo escribenos!

## Reglas Importantes

- Solo agendar dentro del horario de la clinica
- Validar que el paciente no tenga citas duplicadas
- Consulta de valoracion gratuita tiene duracion de 15 min
- Si no hay disponibilidad, ofrecer lista de espera
- Guardar TODAS las citas en memoria para recordatorios
