clinica-veterinaria/docs/01-epicas/VET-005-estetica.md
rckrdmrd c461208a51 [SPRINT-7] docs: Agregar documentacion, schemas y reportes
- Epicas documentadas
- Schema de farmacia veterinaria
- Inventario de base de datos
- Reporte de ejecucion Sprint 7

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 08:53:42 -06:00

7.0 KiB

VET-005: Estetica (Grooming)

Metadata

  • Codigo: VET-005
  • Modulo: Estetica
  • Prioridad: P2
  • Estado: DDL Completado
  • Fase: 4 - Servicios Adicionales

Descripcion

Sistema de gestion de servicios de estetica canina y felina (grooming): agenda de servicios, tipos de corte, productos utilizados, observaciones de piel/pelaje, y registro de tiempos.

Objetivos

  1. Agenda de servicios de estetica
  2. Registro de servicios realizados
  3. Control de productos (shampoos)
  4. Observaciones de piel/pelaje
  5. Historial por mascota

Alcance

Incluido

  • Tipos de servicio: bano, corte, limpieza oidos, corte unas
  • Tipos de corte por raza
  • Productos/shampoos utilizados
  • Estado del servicio
  • Hora inicio/fin
  • Observaciones de piel
  • Precio por servicio

Excluido

  • Reservas online
  • Fotos antes/despues
  • Calificacion del cliente

Servicios de Estetica

Servicio Descripcion Duracion Aprox
Bano Bano con shampoo 30-45 min
Corte Corte de pelo 45-90 min
Bano + Corte Servicio completo 60-120 min
Limpieza oidos Limpieza auditiva 10 min
Corte unas Corte de unas 10 min
Deslanado Remocion de pelo muerto 30-60 min
Tratamiento piel Tratamiento dermatologico 30 min

Tipos de Corte por Raza

Caninos

Raza Cortes Tipicos
Poodle Continental, Puppy, Teddy Bear
Schnauzer Schnauzer estandar, Puppy
Cocker Cocker estandar, Puppy
Yorkshire Show, Puppy
Bichon Bichon estandar, Teddy Bear

Felinos

Tipo Cortes
Pelo largo Leon, Higienico
Pelo corto Solo bano (sin corte)

Modelo de Datos

Tabla: veterinaria.estetica

Campo Tipo Descripcion
id UUID PK
tenant_id UUID FK
mascota_id UUID FK
estilista_id UUID FK empleado
fecha_servicio TIMESTAMPTZ Fecha/hora
servicios TEXT[] Lista de servicios
tipo_corte VARCHAR(50) Tipo de corte
shampoo_usado VARCHAR(100) Producto
estado VARCHAR(20) pendiente, en_proceso, terminado
hora_inicio TIME Inicio
hora_fin TIME Fin
observaciones TEXT Notas generales
observaciones_piel TEXT Estado de piel/pelaje
precio NUMERIC(10,2) Total

Endpoints API

Metodo Endpoint Descripcion
GET /estetica Servicios del dia
GET /estetica/:id Detalle servicio
POST /estetica Agendar servicio
PUT /estetica/:id Actualizar
PUT /estetica/:id/iniciar Iniciar servicio
PUT /estetica/:id/terminar Terminar servicio
GET /mascotas/:id/estetica Historial mascota
GET /estetica/agenda Agenda por fecha

Interfaz del Servicio

interface EsteticaService {
  getDelDia(): Promise<Estetica[]>;
  getById(id: string): Promise<Estetica>;
  agendar(data: AgendarEstetica): Promise<Estetica>;
  iniciar(id: string): Promise<Estetica>;
  terminar(id: string, data: TerminarEstetica): Promise<Estetica>;
  getHistorial(mascotaId: string): Promise<Estetica[]>;
  getAgenda(fecha: Date): Promise<Estetica[]>;
}

interface AgendarEstetica {
  mascotaId: string;
  estilistaId?: string;
  fechaServicio: Date;
  servicios: string[];
  tipoCorte?: string;
  precio?: number;
}

interface TerminarEstetica {
  shampooUsado?: string;
  observaciones?: string;
  observacionesPiel?: string;
  precioFinal?: number;
}

Flujos

Agendar Servicio

1. Propietario solicita servicio
2. Verificar disponibilidad de estilista
3. Crear registro de estetica:
   - Mascota
   - Servicios solicitados
   - Tipo de corte (si aplica)
   - Fecha/hora
4. Confirmar con propietario
5. Estado: pendiente

Ejecutar Servicio

1. Mascota llega a la clinica
2. Estilista marca inicio
3. Realiza servicios:
   - Bano
   - Secado
   - Corte (si aplica)
   - Extras (orejas, unas)
4. Revisar piel/pelaje
5. Registrar observaciones
6. Marcar como terminado
7. Notificar a propietario
8. Agregar a cuenta

Productos/Shampoos

const SHAMPOOS = [
  { nombre: 'Shampoo Regular', tipo: 'normal' },
  { nombre: 'Shampoo Antipulgas', tipo: 'antiparasitario' },
  { nombre: 'Shampoo Dermatologico', tipo: 'medicado' },
  { nombre: 'Shampoo Pelo Blanco', tipo: 'especial' },
  { nombre: 'Shampoo Cachorro', tipo: 'suave' },
  { nombre: 'Acondicionador', tipo: 'complemento' }
];

Observaciones de Piel

interface ObservacionesPiel {
  estado: 'normal' | 'irritada' | 'seca' | 'grasa' | 'con_lesiones';
  parasitos: boolean;
  pulgas: boolean;
  garrapatas: boolean;
  hotspots: boolean;
  perdidaPelo: boolean;
  nudos: 'ninguno' | 'pocos' | 'muchos';
  notas: string;
}

Panel de Estetica

┌─────────────────────────────────────────────────────────┐
│  ESTETICA - Agenda del Dia (07/01/2026)                │
├─────────────────────────────────────────────────────────┤
│  09:00 │ 🐕 Firulais │ Bano + Corte    │ ✓ Terminado  │
│  10:30 │ 🐈 Michi    │ Bano            │ ⏳ En proceso │
│  11:30 │ 🐕 Rocky    │ Deslanado       │ ⏸ Pendiente  │
│  14:00 │ 🐕 Luna     │ Bano + Corte    │ ⏸ Pendiente  │
│  15:30 │ 🐕 Max      │ Corte unas      │ ⏸ Pendiente  │
├─────────────────────────────────────────────────────────┤
│  Estilistas: Ana (4 servicios), Carlos (1 servicio)    │
└─────────────────────────────────────────────────────────┘

Precios Sugeridos

Servicio Pequeno Mediano Grande
Bano $150 $200 $300
Corte $200 $300 $450
Bano + Corte $300 $450 $650
Deslanado $200 $300 $400
Limpieza oidos $50 $50 $50
Corte unas $50 $50 $50

Entregables

Entregable Estado Archivo
DDL estetica Completado database/schemas/01-veterinaria-schema-ddl.sql
estetica.module.ts Pendiente backend/modules/estetica/
EsteticaAgenda.tsx Pendiente frontend/components/
EsteticaForm.tsx Pendiente frontend/components/

Dependencias

Depende de

  • VET-001 (Mascotas)
  • Employees (erp-core)

Bloquea a

  • Reportes de productividad
  • App para propietarios

Criterios de Aceptacion

  • Agendar servicio funciona
  • Lista de servicios configurable
  • Estados se actualizan
  • Hora inicio/fin se registra
  • Observaciones de piel
  • Historial por mascota
  • Precio se calcula

Ultima actualizacion: 2026-01-07