# Product Requirements Document (PRD) – Plataforma Gloria

**Versión:** 2.0
**Fecha:** 29 de Enero, 2026
**Stack:** Next.js 14, Prisma, SQLite, Redis, Evolution API

---

## 1. Visión del Producto

Transformar la presencia digital de Gloria Niño en una herramienta operativa que centralice la atención, gestione crisis y automatice el agendamiento, manteniendo una estética de alta gama, calidez y profesionalismo.

---

## 2. Mapa del Sitio (Basado en Mockup)

### 2.1 Landing Page (Home)

#### Header

* Logo: GW
* Menú: Inicio, Sobre mí, Servicios, Testimonios, Contacto
* CTA: **Agendar Ahora**

#### Hero Section

* Imagen: Fotografía profesional de Gloria Niño
* Titular: **Gloria Niño - Terapeuta Emocional**
* Subtitular: Enfoque terapéutico personalizado
* Botón principal: **Agenda tu Cita** (Inicia flujo)
* Botón secundario: **Ver Servicios**

#### Sección Biográfica

* Imagen: Gloria Niño en sesión (jardín zen)
* Texto: Biografía breve enfocada en duelo y ansiedad

#### Servicios (Grid 3)

* Terapia Individual
* Terapia de Pareja
* Talleres / Grupos

#### Testimonios

* Carrusel con citas, nombres y avatares

#### Contacto

* Formulario: Nombre, WhatsApp, Mensaje
* Tarjetas: Ubicación y Horarios

#### Footer

* Redes sociales
* Privacidad
* Copyright

---

## 3. Requisitos Funcionales

### 3.1 Flujo de Agendamiento

#### Paso 1: Identificación

* Ingreso de WhatsApp
* Búsqueda en SQLite
* Cliente existente: mensaje personalizado + botones
* Nuevo cliente: registro (Nombre, Edad, Motivo)

#### Paso 2: Filtro de Crisis

* Pregunta: ¿Es una urgencia?
* Si: protocolo de crisis
* No: calendario

#### Paso 3: Disponibilidad

* Integración Google Calendar
* Caché Redis

#### Paso 4: Pago

* Carga de comprobante

---

### 3.2 Dashboard de Administración

#### Rol: Asistente

* Agenda general
* Validación de pagos
* Lista de pacientes
* Sin acceso a notas clínicas

#### Rol: Terapeuta (Gloria)

* Expediente completo
* Notas clínicas enriquecidas
* Módulo de voz
* Envío vía WhatsApp
* Auto-eliminación (7 días)

---

## 4. Requisitos de Datos (Prisma)

```prisma
model Patient {
  phone     String    @id
  name      String
  birthdate DateTime
  status    String
  createdAt DateTime  @default(now())
}

model Appointment {
  id              Int       @id @default(autoincrement())
  date            DateTime
  status          String
  isCrisis        Boolean
  paymentProofUrl String?
}

model ClinicalNote {
  id        Int      @id @default(autoincrement())
  patientId String
  content   String
  createdAt DateTime @default(now())
}

model VoiceNote {
  id        Int      @id @default(autoincrement())
  filename  String
  duration  Int
  sentAt    DateTime
  expiresAt DateTime
}
```

---

## 5. Requisitos No Funcionales

### Hosting

* VPS Hostinger
* Docker Compose

### Optimización

* Redis (sesiones y caché)

### Privacidad

* Cookies banner
* Aceptación T&C
* Página estática

### Manejo de Archivos

* Comprobantes: volumen local
* Audios: temporales

---

## 6. Casos Borde

* Citas para terceros
* Cancelaciones tardías
* Zonas horarias

