# Plantilla: Documentacion de Flujos

## Para: Equipo de Soporte/Operaciones

Usa esta plantilla para documentar cualquier accion/flujo del sistema.

---

## Plantilla

```
### [Nombre del Flujo]

**Tipo de usuario:** [Dueno de mascota / Veterinario / Admin]

**Donde empieza:** [Que pagina/boton/link]

**Que quiere hacer el usuario:** [Objetivo en una oracion]

**Pasos:**
1. [Primera cosa que hace el usuario]
2. [Segunda cosa que hace el usuario]
3. [etc.]

**Que deberia pasar:** [Resultado esperado cuando todo funciona]

**Problemas comunes:**
- [Problema 1]
- [Problema 2]

**Casos especiales:**
- [Caso especial 1]
- [Caso especial 2]

**Flujos relacionados:** [Otros flujos que se conectan con este]
```

---

## Ejemplo Completo

### Reservar turno de vacunacion

**Tipo de usuario:** Dueno de mascota

**Donde empieza:** Pagina principal -> Boton "Agendar visita"

**Que quiere hacer el usuario:** Reservar un turno de vacunacion para su gato

**Pasos:**
1. Click en "Agendar visita" en la pagina principal
2. Ingresar direccion en el popup
3. Click en "Siguiente"
4. Completar datos mascota: nombre, tipo (gato), edad
5. Seleccionar categoria "Vacunacion"
6. Elegir la vacuna especifica
7. Ver que "Consulta clinica" se agrega automaticamente
8. Elegir fechas preferidas
9. Ingresar datos de contacto (nombre, telefono, email)
10. Enviar la solicitud

**Que deberia pasar:**
- Ver mensaje de confirmacion
- Recibir email de confirmacion
- La solicitud aparece en "Mis turnos" con estado "Pendiente"

**Problemas comunes:**
- Los usuarios intentan quitar "Consulta clinica" y no pueden
- El autocompletado de direcciones a veces no encuentra su calle
- Algunos usuarios no ven el link "Ya soy cliente" y crean cuentas duplicadas

**Casos especiales:**
- Si la mascota ya esta castrada, el servicio de castracion no deberia aparecer
- Si el usuario abandona a mitad del flujo, sus datos se guardan como "invitado"
- Algunos barrios no tienen cobertura - deberia mostrar un error claro

**Flujos relacionados:**
- "Ver mis turnos" (para ver el estado despues de reservar)
- "Pagar turno" (cuando se solicita el pago)

---

## Preguntas a Considerar

1. **Camino feliz:** Que pasa cuando todo funciona perfecto?
2. **Validacion:** Que errores puede ver el usuario?
3. **Permisos:** Quien puede hacer esto?
4. **Estados:** Esta accion cambia segun algun estado?
5. **Dependencias:** Esto requiere que algo mas haya pasado antes?
6. **Efectos secundarios:** Esto dispara emails, notificaciones?
7. **Deshacer:** El usuario puede revertir esta accion?
