Saltar a contenido

Pantalla: Agregar Cuidadores

Identificador: SCR-ONB-007 Modulo: MTS-ONB-001 - Onboarding Version: 1.0.0 Fecha: 2025-12-05 Autor: MobileUxUiDrone (Eight of Eight) Estado: Especificado


1. Informacion General

Atributo Valor
Nombre Agregar Cuidadores
Proposito Permitir a PI invitar cuidadores solidarios (CS)
Tipo Full Screen (paso 7 de onboarding)
Acceso Desde SCR-ONB-006
Prioridad Media

NOTA: Esta pantalla es opcional y solo disponible para PI en tiers Pro/Perfect. CR y CS saltan este paso.


2. Wireframe ASCII

2.1. Estado: PI Pro/Perfect - Invitar Cuidadores

+------------------------------------------+
| [<-]   Paso 7 de 8  ==============--     |
+------------------------------------------+
|                                          |
|   [Icono familia/grupo]                  |
|                                          |
|      Comparte tu cuidado                 |
|                                          |
|   Invita a familiares o amigos a ser     |
|   tus Cuidadores Solidarios.             |
|                                          |
|   Ellos podran ver tus recordatorios     |
|   y ayudarte a mantener tu tratamiento.  |
|                                          |
|                                          |
|  +------------------------------------+  |
|  |  [Icono Pro]                       |  |
|  |  Tu plan Pro incluye 1 cuidador    |  |
|  +------------------------------------+  |
|                                          |
|  Email del cuidador                      |
|  +------------------------------------+  |
|  | ejemplo@email.com                  |  |
|  +------------------------------------+  |
|                                          |
|  Relacion (opcional)                     |
|  +------------------------------------+  |
|  | Hijo/a                         [v] |  |
|  +------------------------------------+  |
|                                          |
|  +------------------------------------+  |
|  |        Enviar invitacion           |  |
|  +------------------------------------+  |
|                                          |
|           Hacer esto despues             |
|                                          |
+------------------------------------------+

2.2. Estado: Invitacion Enviada

+------------------------------------------+
| [<-]   Paso 7 de 8  ==============--     |
+------------------------------------------+
|                                          |
|   [Check animado]                        |
|                                          |
|      Invitacion enviada!                 |
|                                          |
|   Le enviamos un email a                 |
|   juan@email.com con instrucciones.      |
|                                          |
|  +------------------------------------+  |
|  | [Avatar] juan@email.com            |  |
|  |          Hijo/a                    |  |
|  |          Pendiente de aceptar      |  |
|  |                          [Reenviar]|  |
|  +------------------------------------+  |
|                                          |
|  Cuidadores disponibles: 0/1            |  <- Pro: 1, Perfect: 3
|                                          |
|  +------------------------------------+  |
|  |           Continuar                |  |
|  +------------------------------------+  |
|                                          |
+------------------------------------------+

2.3. Estado: Perfect - Multiples Cuidadores

+------------------------------------------+
| [<-]   Paso 7 de 8  ==============--     |
+------------------------------------------+
|                                          |
|      Tus Cuidadores Solidarios           |
|                                          |
|   Tu plan Perfect incluye hasta          |
|   3 cuidadores.                          |
|                                          |
|  +------------------------------------+  |
|  | [Avatar] maria@email.com           |  |
|  |          Esposa                    |  |
|  |          Activo                [x] |  |
|  +------------------------------------+  |
|  | [Avatar] juan@email.com            |  |
|  |          Hijo/a                    |  |
|  |          Pendiente             [x] |  |
|  +------------------------------------+  |
|  | [+] Agregar otro cuidador          |  |
|  +------------------------------------+  |
|                                          |
|  Cuidadores: 2/3                         |
|                                          |
|  +------------------------------------+  |
|  |           Continuar                |  |
|  +------------------------------------+  |
|                                          |
+------------------------------------------+

2.4. Estado: Free - Upgrade Prompt

+------------------------------------------+
| [<-]   Paso 7 de 8  ==============--     |
+------------------------------------------+
|                                          |
|   [Icono familia con candado]            |
|                                          |
|      Cuidadores Solidarios               |
|                                          |
|   Con un plan Pro o Perfect puedes       |
|   invitar familiares a ayudarte con      |
|   tu tratamiento.                        |
|                                          |
|  +------------------------------------+  |
|  |  PRO: 1 cuidador    $4.99/mes      |  |
|  +------------------------------------+  |
|  |  PERFECT: 3 cuidadores  $9.99/mes  |  |
|  +------------------------------------+  |
|                                          |
|  +------------------------------------+  |
|  |        Ver planes                  |  |
|  +------------------------------------+  |
|                                          |
|  +------------------------------------+  |
|  |        Continuar con Free          |  |
|  +------------------------------------+  |
|                                          |
+------------------------------------------+

2.5. Estado: CR - Skip Automatico

+------------------------------------------+
|                                          |
|   Este paso no aplica para              |
|   Cuidadores Responsables.               |
|                                          |
|   Redirigiendo...                        |
|                                          |
+------------------------------------------+

Nota: CR y CS saltan automaticamente este paso.


3. Componentes UI

3.1. Icono Principal

Propiedad Valor
Tipo Lottie animado
Size 100x100dp
Tema Familia/grupo de personas
Color primary

3.2. Tier Badge

Propiedad Valor
Componente CMP-DAT-013 (Tier Badge)
Variantes Pro (azul), Perfect (dorado)
Text "Tu plan {tier} incluye {n} cuidador(es)"

3.3. Campo Email

Propiedad Valor
Componente CMP-INP-001 (Text Field)
Type email
Label "Email del cuidador"
Validation Email valido
Required Si (para invitar)

3.4. Dropdown Relacion

Propiedad Valor
Componente CMP-INP-006 (Dropdown Select)
Label "Relacion (opcional)"
Options Esposo/a, Hijo/a, Padre/Madre, Hermano/a, Amigo/a, Otro
Required No

3.5. Cuidador Card

Propiedad Valor
Componente CMP-CRD-011 (Contact Card)
Avatar Iniciales o foto si disponible
Primary Email
Secondary Relacion
Status Activo / Pendiente
Actions Reenviar, Eliminar

3.6. Contador de Cuidadores

Propiedad Valor
Format "Cuidadores: {actual}/{max}"
Color max success.500 (no lleno), warning.500 (lleno)

4. Comportamientos

4.1. Flujo de Invitacion

flowchart TD
    A[Pantalla cargada] --> B{Rol?}
    B -->|CR/CS| C[Auto-skip a ONB-008]
    B -->|PI| D{Tier?}

    D -->|Free| E[Mostrar upgrade prompt]
    D -->|Pro/Perfect| F[Mostrar form invitacion]

    E --> G{Tap Ver planes?}
    G -->|Si| H[Navegar a upgrade]
    G -->|No| I[Continuar a ONB-008]

    F --> J[Usuario ingresa email]
    J --> K{Email valido?}
    K -->|No| L[Mostrar error]
    K -->|Si| M[Enable boton Enviar]

    M --> N{Tap Enviar?}
    N -->|Si| O[Enviar invitacion]
    O --> P[Mostrar success]
    P --> Q{Mas slots?}
    Q -->|Si| R[Opcion agregar otro]
    Q -->|No| S[Solo continuar]

    R --> T{Agregar otro?}
    T -->|Si| F
    T -->|No| I
    S --> I

4.2. Envio de Invitacion

async function sendInvitation(email: string, relationship?: string) {
  // 1. Validar email no es el propio usuario
  if (email === currentUser.email) {
    throw new Error("No puedes invitarte a ti mismo");
  }

  // 2. Validar no duplicado
  if (existingInvites.includes(email)) {
    throw new Error("Ya enviaste una invitacion a este email");
  }

  // 3. Crear invitacion
  const invite = await createInvitation({
    from_user_id: currentUser.id,
    to_email: email,
    relationship: relationship,
    expires_at: Date.now() + 7 * 24 * 60 * 60 * 1000 // 7 dias
  });

  // 4. Enviar email
  await sendInviteEmail(invite);

  return invite;
}

4.3. Gestos

Gesto Elemento Accion
Tap Input email Focus
Tap Dropdown Abrir opciones
Tap Enviar invitacion Enviar y mostrar status
Tap Agregar otro Limpiar form
Tap Reenviar Reenviar invitacion
Tap Eliminar (x) Eliminar invitacion
Tap Ver planes Ir a pantalla de planes
Tap Continuar Navegar a ONB-008

4.4. Validaciones

Campo Regla Mensaje Error
Email Required "Ingresa el email del cuidador"
Email Format "Ingresa un email valido"
Email Not self "No puedes invitarte a ti mismo"
Email Not duplicate "Ya enviaste una invitacion a este email"
Slots Available "Has alcanzado el limite de cuidadores"

5. Estados

5.1. Estados de la Pantalla

Estado Condicion Visual
Initial Sin invitaciones Form vacio
Sending Enviando invitacion Loader
Success Invitacion enviada Card con status
Full Slots agotados Solo lista, sin form
Upgrade Tier Free Prompt upgrade

5.2. Estados de Invitacion

Estado Visual Acciones
Pending Badge amarillo "Pendiente" Reenviar, Eliminar
Accepted Badge verde "Activo" Eliminar
Expired Badge gris "Expirada" Reenviar, Eliminar

6. Accesibilidad

6.1. Labels y Hints

Elemento accessibilityLabel accessibilityHint
Input email "Email del cuidador" "Ingresa el email de quien quieres invitar"
Dropdown "Relacion con el cuidador" "Opcional, selecciona la relacion"
Cuidador card "{email}, {relacion}, {status}" "Toca para ver opciones"
Enviar "Enviar invitacion" "Envia email de invitacion"
Reenviar "Reenviar invitacion a {email}" -

6.2. Orden de Foco

  1. Back button
  2. Titulo
  3. Descripcion
  4. Tier badge
  5. Input email
  6. Dropdown relacion
  7. Boton Enviar invitacion
  8. Lista de cuidadores (si hay)
  9. Contador
  10. Boton Continuar
  11. Link Hacer despues

6.3. Screen Reader

Evento Anuncio
Invitacion enviada "Invitacion enviada a {email}"
Invitacion aceptada "{email} acepto tu invitacion"
Limite alcanzado "Has alcanzado el limite de {n} cuidadores"

7. Datos Requeridos

7.1. Input Data

interface CaregiverInviteInput {
  role: 'PI' | 'CR' | 'CS';
  tier: 'free' | 'pro' | 'perfect';
  existing_caregivers: Caregiver[];
  max_caregivers: number;  // 0 Free, 1 Pro, 3 Perfect
}

7.2. Output Data

interface CaregiverInviteOutput {
  invitations_sent: Invitation[];
  skipped: boolean;
}

interface Invitation {
  email: string;
  relationship?: string;
  status: 'pending' | 'accepted' | 'expired';
  sent_at: Date;
}

8. Metricas

8.1. Analytics Events

Evento Parametros
screen_view screen_name: "onboarding_caregivers"
caregiver_invite_started -
caregiver_invite_sent relationship
caregiver_invite_resent -
caregiver_invite_removed -
upgrade_prompt_viewed from_tier: "free"
upgrade_started from_tier, to_tier
step_completed step: 7, role, tier, invites_sent
step_skipped step: 7, reason

9. Email de Invitacion

9.1. Contenido del Email

Asunto: {nombre} te invita a ser su Cuidador Solidario en MedTime

Hola,

{nombre} te ha invitado a ser su Cuidador Solidario en MedTime.

Como Cuidador Solidario, podras:
- Ver los recordatorios de medicamentos de {nombre}
- Recibir alertas si olvida tomar un medicamento
- Ayudarle a mantener su tratamiento

[Aceptar invitacion]

Esta invitacion expira en 7 dias.

---
MedTime - Tu salud, tu control
medtime://invitation/accept?token={token}
https://medtime.app/invitation/accept?token={token}

10. Limites por Tier

Tier Max Cuidadores Notas
Free 0 Upgrade required
Pro 1 Incluido en suscripcion
Perfect 3 Incluido en suscripcion

11. Referencias


Documento generado por MobileUxUiDrone (Eight of Eight)