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
| 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
- Back button
- Titulo
- Descripcion
- Tier badge
- Input email
- Dropdown relacion
- Boton Enviar invitacion
- Lista de cuidadores (si hay)
- Contador
- Boton Continuar
- 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
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
9.2. Deep Link
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)