717 lines
31 KiB
Markdown
717 lines
31 KiB
Markdown
# Moraworld Imports — Sistema de Casillero Internacional
|
||
## Requerimientos y Arquitectura de Software
|
||
|
||
**Empresas:**
|
||
- **Moraworld Imports S.A.S.** — Constituida bajo las leyes de Ecuador (Cuenca)
|
||
- **Mora Global Import LLC** — Constituida bajo las leyes de EE.UU. (New Jersey)
|
||
|
||
**Versión:** 1.1
|
||
**Fecha:** 6 de mayo de 2026
|
||
**Estado:** Borrador — Levantamiento de Requerimientos
|
||
|
||
---
|
||
|
||
## 1. Resumen Ejecutivo
|
||
|
||
**Moraworld Imports S.A.S.** (Ecuador) y **Mora Global Import LLC** (EE.UU.) operan un ecosistema logístico transfronterizo con bodega física ubicada en:
|
||
|
||
> **150 N Day St, City of Orange, NJ 07050, EE.UU.**
|
||
|
||
El sistema permite a usuarios ecuatorianos realizar compras en plataformas como **Amazon**, **eBay**, **Walmart**, entre otras, utilizando una Suite/casillero personalizado dentro de esa dirección como destino. Una vez que el paquete llega a la bodega en New Jersey, la plataforma gestiona el proceso logístico de reenvío hacia **Ecuador**, incluyendo la declaración automática ante la **Aduana Ecuatoriana** (SENAE).
|
||
|
||
El negocio opera dos líneas de servicio claramente diferenciadas:
|
||
|
||
| Servicio | Descripción | Flujo |
|
||
|-----------------------|-----------------------------------------------------------------------------|:------------:|
|
||
| **Casillero (B2C)** | Compras pequeñas: Amazon, eBay, ropa, tecnología. Clientes individuales. | Automatizado |
|
||
| **Carga Pesada (B2B)**| Importación mayorista: pallets, contenedores (ej: 1,000 pares de zapatos). | Cotización |
|
||
|
||
---
|
||
|
||
## 2. Arquitectura del Sistema
|
||
|
||
### 2.1 Modelo: Multi-Tenant
|
||
|
||
El sistema estará desarrollado bajo una arquitectura **Multi-Tenant**, lo que permite operar bajo un único despliegue de software, pero con datos completamente aislados por organización o cliente empresa.
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────┐
|
||
│ INTERNET (HTTPS) │
|
||
└──────────────────────────┬──────────────────────────────┘
|
||
│
|
||
┌──────────▼──────────┐
|
||
│ Load Balancer / │
|
||
│ API Gateway │
|
||
└──────────┬──────────┘
|
||
│
|
||
┌────────────────┼────────────────┐
|
||
│ │ │
|
||
┌──────▼──────┐ ┌──────▼──────┐ ┌─────▼───────┐
|
||
│ Tenant A │ │ Tenant B │ │ Tenant N │
|
||
│ (Empresa 1) │ │ (Empresa 2) │ │ (Empresa N) │
|
||
└──────┬──────┘ └──────┬──────┘ └─────┬───────┘
|
||
│ │ │
|
||
└────────────────┼───────────────┘
|
||
│
|
||
┌────────────▼────────────┐
|
||
│ Base de Datos │
|
||
│ (Schema por Tenant) │
|
||
└─────────────────────────┘
|
||
```
|
||
|
||
### 2.2 Cumplimiento ISO/IEC 27001
|
||
|
||
El sistema deberá estar diseñado cumpliendo los controles del estándar **ISO/IEC 27001:2022** para la gestión de seguridad de la información:
|
||
|
||
| Control ISO 27001 | Implementación en el sistema |
|
||
|-------------------------|-------------------------------------------------------------------|
|
||
| A.5 — Políticas | Política de uso aceptable, manejo de datos y retención |
|
||
| A.6 — Organización | Roles definidos, segregación de funciones |
|
||
| A.7 — RRHH | Procedimientos de onboarding/offboarding de usuarios internos |
|
||
| A.8 — Gestión de activos| Inventario de datos personales y de paquetes (conforme a PDPA/LOPD) |
|
||
| A.9 — Control de acceso | Autenticación MFA, RBAC (Role-Based Access Control) |
|
||
| A.10 — Criptografía | TLS 1.3 en tránsito, AES-256 en reposo |
|
||
| A.12 — Operaciones | Logs de auditoría inmutables, monitoreo continuo |
|
||
| A.14 — Desarrollo seguro| SDLC seguro, revisiones de código, OWASP Top 10 |
|
||
| A.16 — Incidentes | Proceso de gestión y notificación de incidentes de seguridad |
|
||
| A.18 — Cumplimiento | Declaración aduanera automática conforme a normativa SENAE |
|
||
|
||
### 2.3 Stack Tecnológico Sugerido
|
||
|
||
| Capa | Tecnología sugerida |
|
||
|-------------------|--------------------------------------------------|
|
||
| Frontend | Next.js / React (SSR para SEO en landing page) |
|
||
| Backend / API | Node.js + Express o NestJS (REST / GraphQL) |
|
||
| Base de datos | PostgreSQL (multi-schema por tenant) |
|
||
| Autenticación | OAuth 2.0 + JWT + MFA (TOTP) |
|
||
| Almacenamiento | AWS S3 o similar (fotos de paquetes, documentos) |
|
||
| Integración | API SENAE (Aduana Ecuador), Amazon SP-API |
|
||
| Tracking | Webhooks + sistema propio de tracking IDs |
|
||
| Infraestructura | AWS / GCP con ambientes: dev, staging, producción|
|
||
| Seguridad | WAF, rate limiting, SIEM para auditoría |
|
||
|
||
---
|
||
|
||
## 3. Roles y Permisos del Sistema
|
||
|
||
### 3.1 Definición de Roles
|
||
|
||
| Rol | Descripción |
|
||
|-----------------------|-----------------------------------------------------------------------------|
|
||
| **Super Admin** | Acceso total al sistema. Gestiona tenants, usuarios globales y configuración|
|
||
| **Admin Empresa** | Administra su propio tenant: usuarios, tarifas, bodegas asignadas |
|
||
| **Operador Bodega** | Personal en EE.UU. que verifica, pesa y escanea paquetes físicamente |
|
||
| **Agente Aduanero** | Revisa y confirma las declaraciones antes de enviarlas a la SENAE |
|
||
| **Cliente Final** | Usuario ecuatoriano que registra compras y hace seguimiento |
|
||
| **Soporte** | Puede ver información del cliente y paquetes, no puede modificar datos clave|
|
||
|
||
### 3.2 Matriz de Permisos
|
||
|
||
| Módulo / Acción | Super Admin | Admin Empresa | Operador Bodega | Agente Aduanero | Cliente | Soporte |
|
||
|------------------------------|:-----------:|:-------------:|:---------------:|:---------------:|:-------:|:-------:|
|
||
| Ver dashboard general | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||
| Crear/editar usuarios | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
|
||
| Configurar tarifas y zonas | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
|
||
| Registrar compra (link/manual)| ❌ | ❌ | ❌ | ❌ | ✅ | ❌ |
|
||
| Ver mis paquetes | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ |
|
||
| Verificar paquete en bodega | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
|
||
| Confirmar peso/dimensiones | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
|
||
| Generar declaración aduanera | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ |
|
||
| Enviar datos a SENAE | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ |
|
||
| Ver historial de envíos | ✅ | ✅ | ✅ | ✅ | ✅ (solo propios) | ✅ |
|
||
| Acceder a logs de auditoría | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
|
||
|
||
---
|
||
|
||
## 4. Módulos del Sistema
|
||
|
||
### 4.1 Landing Page (Pública)
|
||
|
||
Página de presentación del servicio accesible desde cualquier dispositivo con internet.
|
||
|
||
**Secciones de contenido:**
|
||
- Hero con propuesta de valor: casillero en EE.UU. para Ecuador
|
||
- **Cómo funciona** — pasos visuales diferenciados por tipo de servicio
|
||
- **Calculadora de envío** visible en la landing (sin necesidad de registro)
|
||
- Tarifas y categorías de SENAE
|
||
- Sección **"Quiénes Somos"** — dos empresas constituidas legalmente:
|
||
- Moraworld Imports S.A.S. — RUC Ecuador, rep. legal en Cuenca
|
||
- Mora Global Import LLC — Registro EE.UU., rep. legal en New Jersey
|
||
- **Sección de Legalidad:** Mostrar documentos de constitución, RUC, permisos aduaneros SENAE, cumplimiento normas INEN
|
||
- Sección de servicios: **Casillero** vs **Carga Pesada/Pallets**
|
||
- Preguntas frecuentes
|
||
- Registro / inicio de sesión de clientes
|
||
- Blog o noticias (opcional)
|
||
|
||
**Elementos de contacto y confianza:**
|
||
- **Botón de WhatsApp flotante** con opción de contactar:
|
||
- Representante en New Jersey (bodega / operaciones)
|
||
- Representante legal en Cuenca, Ecuador
|
||
- Sección de certificaciones y normativas (ISO, INEN, SENAE)
|
||
|
||
**Requisitos técnicos:**
|
||
- SEO optimizado (Next.js SSR)
|
||
- Responsive — mobile-first
|
||
- HTTPS obligatorio
|
||
- Carga < 3 segundos
|
||
|
||
---
|
||
|
||
### 4.2 Portal del Cliente Final (Panel de Casillero)
|
||
|
||
Acceso mediante credenciales. El cliente ecuatoriano gestiona sus pedidos aquí.
|
||
|
||
**Al registrarse, el sistema asigna automáticamente una Suite/casillero personalizado:**
|
||
```
|
||
150 N Day St, Suite [#CASILLERO], City of Orange, NJ 07050, EE.UU.
|
||
Ejemplo: 150 N Day St, Suite EC-00345, City of Orange, NJ 07050
|
||
```
|
||
Esta dirección se muestra de forma destacada en el panel del cliente para que la use en sus compras en línea.
|
||
|
||
**Funcionalidades:**
|
||
- Registro y verificación de cuenta (correo + MFA)
|
||
- Ver su **Suite/casillero asignado** con dirección completa y copiable
|
||
- **Pre-alerta de compra (Gestión Documental):**
|
||
- El cliente notifica antes de que llegue el paquete: tienda, número de tracking del vendedor, valor, descripción
|
||
- Puede cargar la **factura comercial** (PDF, imagen) emitida por Amazon / eBay / tienda
|
||
- Esto permite a la bodega organizar y anticipar la llegada del paquete
|
||
- Registrar una compra por:
|
||
- **Enlace (URL):** El sistema escanea el producto de Amazon u otra plataforma y pre-llena el formulario
|
||
- **Manual:** Nombre, descripción, valor declarado, tienda, cantidad, peso estimado
|
||
- Ver **fotos del paquete** cuando éste llega a la bodega NJ
|
||
- Ver cotización de envío con desglose por categoría SENAE antes del pago
|
||
- Pagar el costo de envío anticipadamente
|
||
- Ver historial de pedidos con **ID de Tracking único**
|
||
- Seguimiento en tiempo real del estado del paquete
|
||
- Notificaciones por correo / SMS / WhatsApp en cada etapa
|
||
|
||
---
|
||
|
||
### 4.3 Portal de Bodega (New Jersey, EE.UU.)
|
||
|
||
Usado por los operadores físicos en la bodega de **150 N Day St, City of Orange, NJ**.
|
||
|
||
**Funcionalidades:**
|
||
- Ver paquetes esperados con pre-alertas enviadas por los clientes
|
||
- Registrar llegada de paquete (escaneo de código de barras o QR)
|
||
- Ver las facturas y documentos cargados por el cliente en la pre-alerta
|
||
- Confirmar y corregir:
|
||
- Peso real (báscula)
|
||
- Dimensiones (largo, ancho, alto)
|
||
- **Fotos del paquete** (se sincronizan con el portal del cliente)
|
||
- Alertar discrepancias entre peso declarado y real (diferencia > 10%)
|
||
- Asignar paquete a su Suite/casillero correspondiente
|
||
- Sincronización en tiempo real vía API con el software propio de bodega
|
||
- Generar orden de despacho hacia Ecuador
|
||
|
||
---
|
||
|
||
### 4.4 Portal Administrativo
|
||
|
||
Usado por Admin Empresa y Super Admin.
|
||
|
||
**Funcionalidades:**
|
||
- Dashboard con métricas: paquetes en tránsito, recibidos, enviados, con problemas
|
||
- Gestión de usuarios y roles
|
||
- Configuración de tarifas: precio por libra/kg, por zona geográfica en Ecuador
|
||
- Gestión de bodegas (múltiples posibles)
|
||
- Reportes: ingresos, volumen de envíos, tiempo promedio de entrega
|
||
- Logs de auditoría (quién hizo qué y cuándo)
|
||
- Configuración de notificaciones automáticas
|
||
|
||
---
|
||
|
||
### 4.5 Módulo de Integración con Aduanas (SENAE)
|
||
|
||
**Funcionalidades:**
|
||
- Generación automática de la **Declaración Simplificada de Importación (DSI)**
|
||
- Cálculo automático de impuestos (fodinfa, IVA, arancel) según tabla SENAE
|
||
- Envío electrónico de la declaración a la SENAE vía WebService oficial
|
||
- Recepción de respuesta / número de autorización SENAE
|
||
- Almacenamiento del documento aduanero asociado al tracking ID
|
||
- Alerta si el valor del paquete supera el umbral de importación simplificada ($400 USD)
|
||
|
||
---
|
||
|
||
### 4.6 Módulo de Tracking en Tiempo Real
|
||
|
||
Cada paquete tendrá un **ID de Tracking único** generado automáticamente al registrar la compra o la pre-alerta.
|
||
|
||
**Formato sugerido:** `EC-YYYYMMDD-XXXXXX`
|
||
Ejemplo: `EC-20260506-082341`
|
||
|
||
El cliente puede buscar el estado de su paquete ingresando el Tracking ID en la landing page (sin necesidad de iniciar sesión) o en su panel de usuario.
|
||
|
||
**Estados del paquete:**
|
||
|
||
| # | Estado | Descripción |
|
||
|---|-------------------------------|----------------------------------------------------------|
|
||
| 1 | `REGISTRADO` | El cliente registró la compra en el sistema |
|
||
| 2 | `EN_TRANSITO_BODEGA` | El pedido fue despachado por el vendedor hacia la bodega |
|
||
| 3 | `RECIBIDO_BODEGA` | La bodega confirmó la recepción del paquete |
|
||
| 4 | `EN_VERIFICACION` | El operador está pesando y revisando el paquete |
|
||
| 5 | `VERIFICADO` | Peso y dimensiones confirmados, pago aplicado |
|
||
| 6 | `DECLARACION_ADUANERA` | Declaración enviada a la SENAE |
|
||
| 7 | `EN_TRANSITO_ECUADOR` | El paquete viaja desde EE.UU. hacia Ecuador |
|
||
| 8 | `EN_ADUANA_ECUADOR` | El paquete está en proceso aduanero en Ecuador |
|
||
| 9 | `LISTO_ENTREGA` | Paquete aprobado por aduana, listo para entrega |
|
||
|10 | `ENTREGADO` | Paquete entregado al cliente final |
|
||
|11 | `INCIDENCIA` | Problema reportado (daño, pérdida, retención en aduana) |
|
||
|
||
---
|
||
|
||
### 4.7 Módulo de Pre-alerta y Gestión Documental
|
||
|
||
Permite al cliente avisar con anticipación sobre paquetes en camino hacia la bodega.
|
||
|
||
**Formulario de pre-alerta:**
|
||
- Tienda / plataforma de compra (Amazon, eBay, etc.)
|
||
- Número de tracking del vendedor (ej: 1Z999AA10123456784 de UPS)
|
||
- Descripción del producto
|
||
- Valor declarado ($USD)
|
||
- Carga de factura comercial (PDF o imagen)
|
||
- Fecha estimada de llegada a la bodega
|
||
|
||
**Resultado:**
|
||
- La bodega recibe la pre-alerta y organiza el espacio
|
||
- El sistema crea un registro asociado al Tracking ID interno
|
||
- Cuando el paquete llega, el operador lo vincula a la pre-alerta existente
|
||
|
||
---
|
||
|
||
### 4.8 Servicio de Carga Pesada / Pallets (B2B)
|
||
|
||
Diferenciado del casillero, este módulo atiende a importadores mayoristas.
|
||
|
||
**Características:**
|
||
- Flujo NO automatizado — requiere cotización especial
|
||
- Formulario de "Solicitud de Cotización" con:
|
||
- Tipo de mercancía (ej: calzado al por mayor)
|
||
- Cantidad / peso estimado / número de pallets
|
||
- Valor comercial total
|
||
- Puerto/ciudad de origen en EE.UU.
|
||
- Destino en Ecuador
|
||
- Datos de contacto del importador
|
||
- Verificación de cumplimiento de normas **INEN** (especialmente para calzado, textiles)
|
||
- El equipo de Moraworld responde con cotización personalizada
|
||
- Una vez aceptada, se genera un expediente con ID de seguimiento propio
|
||
|
||
**Nota INEN:** Los productos que requieren certificación INEN (ej: calzado, productos eléctricos) deben declararse con el número de registro de certificación correspondiente en la declaración aduanera.
|
||
|
||
---
|
||
|
||
## 5. Flujos de Usuario
|
||
|
||
### 5.1 Flujo del Cliente Final (Servicio Casillero)
|
||
|
||
```
|
||
[1] Accede a la Landing Page
|
||
│
|
||
▼
|
||
[2] Se registra / inicia sesión
|
||
(Correo + contraseña + MFA)
|
||
│
|
||
▼
|
||
[3] El sistema asigna automáticamente su Suite personalizada:
|
||
150 N Day St, Suite EC-00345, City of Orange, NJ 07050
|
||
│
|
||
▼
|
||
[4] Hace su compra en Amazon / otra tienda,
|
||
usando la dirección de la Suite como destino
|
||
│
|
||
▼
|
||
[5A] OPCIONAL — Pre-alerta:
|
||
El cliente vuelve al portal y crea una pre-alerta:
|
||
- Tracking del vendedor, valor, descripción
|
||
- Carga la factura comercial de Amazon/eBay
|
||
→ La bodega ya sabe que ese paquete viene
|
||
│
|
||
▼
|
||
[5B] Registra formalmente su compra en el portal:
|
||
┌────────────────────────────┐
|
||
│ OPCIÓN A: Pega el enlace │──► El sistema escanea el producto:
|
||
│ de Amazon / tienda │ nombre, foto, precio, peso estimado
|
||
└────────────────────────────┘
|
||
┌────────────────────────────┐
|
||
│ OPCIÓN B: Ingreso manual │──► Llena: nombre, descripción, valor,
|
||
│ │ tienda, cantidad, peso estimado
|
||
└────────────────────────────┘
|
||
│
|
||
▼
|
||
[6] El sistema calcula el costo de envío:
|
||
Peso (lbs/kg) × tarifa + seguro + tasas aduaneras estimadas
|
||
│
|
||
▼
|
||
[7] El cliente revisa y ACEPTA el costo
|
||
│
|
||
▼
|
||
[8] Realiza el PAGO del envío (en línea)
|
||
│
|
||
▼
|
||
[9] El sistema genera el TRACKING ID y confirma por correo
|
||
│
|
||
▼
|
||
[10] El cliente recibe notificaciones en cada cambio de estado
|
||
vía: correo, SMS y/o WhatsApp
|
||
│
|
||
▼
|
||
[11] Seguimiento en tiempo real desde el portal o la landing page
|
||
(ingresando el Tracking ID sin necesidad de login)
|
||
│
|
||
▼
|
||
[12] Recibe el paquete en Ecuador
|
||
```
|
||
|
||
---
|
||
|
||
### 5.5 Flujo del Importador Mayorista (Carga Pesada B2B)
|
||
|
||
```
|
||
[1] Accede a la landing page, sección "Carga Pesada / Pallets"
|
||
│
|
||
▼
|
||
[2] Llena el formulario de "Solicitud de Cotización Especial":
|
||
- Tipo de mercancía, cantidad, peso, valor
|
||
- Verificación INEN si aplica (calzado, electrónicos, etc.)
|
||
│
|
||
▼
|
||
[3] El equipo Moraworld revisa y prepara cotización
|
||
│
|
||
▼
|
||
[4] El importador recibe la cotización por correo o WhatsApp
|
||
│
|
||
▼
|
||
[5] Si acepta → se crea expediente con ID de seguimiento B2B
|
||
│
|
||
▼
|
||
[6] Coordinación de embarque, documentos aduaneros,
|
||
certificación INEN, DAS o DAI según corresponda
|
||
│
|
||
▼
|
||
[7] Seguimiento del embarque hasta entrega en Ecuador
|
||
```
|
||
|
||
---
|
||
|
||
### 5.2 Flujo del Operador de Bodega
|
||
|
||
```
|
||
[1] Inicia sesión en el Portal de Bodega
|
||
│
|
||
▼
|
||
[2] Ve la lista de paquetes esperados (con sus tracking IDs)
|
||
│
|
||
▼
|
||
[3] Llega un paquete físico a la bodega
|
||
│
|
||
▼
|
||
[4] Escanea el código del paquete o busca manual
|
||
│
|
||
▼
|
||
[5] Confirma recepción → Estado cambia a RECIBIDO_BODEGA
|
||
│
|
||
▼
|
||
[6] Verifica el paquete:
|
||
- Pesa en báscula (peso real)
|
||
- Mide dimensiones
|
||
- Toma fotos
|
||
- Compara con lo declarado por el cliente
|
||
│
|
||
┌───┴────────────────────────────────┐
|
||
│ │
|
||
[7A] Sin discrepancia [7B] Hay discrepancia (>10%)
|
||
│ │
|
||
▼ ▼
|
||
Estado: VERIFICADO Notificación al Admin y cliente
|
||
│ Se cobra diferencia o se ajusta
|
||
│ │
|
||
└──────────────┬─────────────────────┘
|
||
│
|
||
▼
|
||
[8] Asigna paquete a envío consolidado o individual
|
||
│
|
||
▼
|
||
[9] Genera orden de despacho hacia Ecuador
|
||
```
|
||
|
||
---
|
||
|
||
### 5.3 Flujo del Agente Aduanero
|
||
|
||
```
|
||
[1] Inicia sesión en el Portal Administrativo
|
||
│
|
||
▼
|
||
[2] Ve paquetes con estado VERIFICADO
|
||
│
|
||
▼
|
||
[3] Revisa información del paquete:
|
||
- Descripción del producto
|
||
- Valor declarado
|
||
- Fotos
|
||
- Peso y dimensiones confirmados
|
||
│
|
||
▼
|
||
[4] Verifica que el valor esté dentro del límite
|
||
de importación simplificada ($400 USD)
|
||
│
|
||
┌───┴──────────────────────┐
|
||
│ │
|
||
[4A] Dentro del límite [4B] Supera el límite
|
||
│ │
|
||
▼ ▼
|
||
Sigue el proceso Notificación al cliente
|
||
simplificado para proceso de importación
|
||
│ formal (diferente declaración)
|
||
│ │
|
||
└──────────┬───────────────┘
|
||
│
|
||
▼
|
||
[5] El sistema genera la Declaración Simplificada
|
||
de Importación (DSI) automáticamente
|
||
│
|
||
▼
|
||
[6] El agente revisa y APRUEBA la declaración
|
||
│
|
||
▼
|
||
[7] El sistema envía la DSI al WebService de la SENAE
|
||
│
|
||
▼
|
||
[8] SENAE devuelve número de autorización
|
||
│
|
||
▼
|
||
[9] Estado cambia a DECLARACION_ADUANERA
|
||
Notificación automática al cliente
|
||
```
|
||
|
||
---
|
||
|
||
### 5.4 Flujo del Admin Empresa
|
||
|
||
```
|
||
[1] Inicia sesión en Portal Administrativo
|
||
│
|
||
▼
|
||
[2] Ve dashboard general:
|
||
- Paquetes por estado
|
||
- Ingresos del día/mes
|
||
- Alertas e incidencias
|
||
│
|
||
├──► Gestiona usuarios y roles
|
||
├──► Configura tarifas de envío
|
||
├──► Genera reportes
|
||
├──► Revisa logs de auditoría
|
||
└──► Gestiona configuración de bodega
|
||
```
|
||
|
||
---
|
||
|
||
## 6. Flujos del Sistema
|
||
|
||
### 6.1 Flujo de Registro de Compra (con enlace)
|
||
|
||
```
|
||
Cliente pega URL de Amazon
|
||
│
|
||
▼
|
||
Sistema hace scraping / llama API del producto
|
||
(Amazon SP-API o equivalente)
|
||
│
|
||
▼
|
||
Extrae: nombre, descripción, precio, peso estimado, imagen
|
||
│
|
||
▼
|
||
Pre-llena el formulario de registro
|
||
│
|
||
▼
|
||
Sistema calcula costo de envío:
|
||
Peso (lbs) × tarifa_por_lb
|
||
+ seguro (% del valor declarado)
|
||
+ tasas aduaneras estimadas (FODINFA 0.5% + IVA 15%)
|
||
│
|
||
▼
|
||
Muestra resumen al cliente para confirmación
|
||
│
|
||
▼
|
||
Cliente confirma y paga
|
||
│
|
||
▼
|
||
Sistema genera Tracking ID único
|
||
Sistema envía correo de confirmación
|
||
Sistema actualiza estado → REGISTRADO
|
||
```
|
||
|
||
---
|
||
|
||
### 6.2 Flujo de Calculadora Dinámica de Costos (SENAE)
|
||
|
||
La calculadora estará disponible tanto en la **landing page** (acceso público) como dentro del portal del cliente.
|
||
|
||
**Categorías de importación SENAE** (régimen 4x4 / simplificado):
|
||
|
||
| Categoría | Descripción | Arancel | Observaciones |
|
||
|-----------|---------------------------------------------------|:-------:|--------------------------------------|
|
||
| **4x4** | Hasta 4 envíos/año, hasta $400 c/u y hasta 4 kg | 0% | Régimen simplificado sin arancel |
|
||
| **Cat. B**| Bienes de consumo general fuera del 4x4 | 10% | + FODINFA + IVA |
|
||
| **Cat. C**| Textiles, calzado, artículos del hogar | 20% | + FODINFA + IVA |
|
||
| **Cat. D**| Electrónicos, equipos de telecomunicaciones | 0-15% | Puede requerir certificación INEN |
|
||
|
||
**Variables de entrada:**
|
||
```
|
||
- Peso declarado (lbs o kg)
|
||
- Dimensiones estimadas (para peso volumétrico)
|
||
- Valor declarado del producto ($USD)
|
||
- Categoría de producto (la calculadora sugiere la categoría)
|
||
- Destino en Ecuador (ciudad / zona)
|
||
```
|
||
|
||
**Fórmulas:**
|
||
```
|
||
Peso a cobrar = MAX(peso_real, peso_volumétrico)
|
||
Peso_volumétrico = (largo × ancho × alto) / factor_dim (139 o 166)
|
||
|
||
Costo base de envío = Peso_a_cobrar × tarifa_zona
|
||
Seguro = valor_declarado × 0.02 (2% — configurable)
|
||
|
||
FODINFA = valor_declarado × 0.005 (0.5%)
|
||
Arancel = valor_declarado × % según categoría SENAE
|
||
IVA = (valor_declarado + FODINFA + Arancel) × 0.15
|
||
|
||
TOTAL = costo_envío + seguro + FODINFA + Arancel + IVA
|
||
```
|
||
|
||
**El sistema muestra el desglose completo al cliente antes de confirmar el pago.**
|
||
|
||
---
|
||
|
||
### 6.3 Flujo de Notificaciones Automáticas
|
||
|
||
```
|
||
Cambio de estado del paquete
|
||
│
|
||
▼
|
||
Sistema detecta el cambio en base de datos
|
||
│
|
||
▼
|
||
Dispara evento al motor de notificaciones
|
||
│
|
||
├──► Correo electrónico (con detalle del estado)
|
||
├──► SMS (resumen corto)
|
||
├──► Notificación push en el portal web
|
||
└──► Mensaje de WhatsApp (vía WhatsApp Business API)
|
||
```
|
||
|
||
---
|
||
|
||
### 6.4 Flujo de Seguridad y Auditoría (ISO 27001)
|
||
|
||
```
|
||
Cualquier acción en el sistema
|
||
│
|
||
▼
|
||
Se registra en Log de Auditoría:
|
||
- ID del usuario
|
||
- Rol
|
||
- Acción realizada
|
||
- Timestamp (UTC)
|
||
- IP de origen
|
||
- Recurso afectado (ej: Tracking ID)
|
||
│
|
||
▼
|
||
Log inmutable (no editable, ni por admins)
|
||
│
|
||
▼
|
||
Reportes de auditoría disponibles para Super Admin
|
||
│
|
||
▼
|
||
Alertas automáticas ante:
|
||
- Múltiples intentos de login fallidos
|
||
- Acceso desde IPs inusuales (geolocalización)
|
||
- Cambios masivos de datos
|
||
```
|
||
|
||
---
|
||
|
||
## 7. Integraciones Externas
|
||
|
||
| Integración | Propósito | Protocolo |
|
||
|---------------------------|---------------------------------------------------------------------|-----------------|
|
||
| Amazon SP-API | Obtener info del producto desde enlace (pre-llenar formulario) | REST API |
|
||
| WebService SENAE | Enviar declaraciones simplificadas (DSI) / formales | SOAP / REST |
|
||
| Pasarela de pagos | Cobro en línea (Stripe, PayPhone, PayPal, etc.) | REST API |
|
||
| SMS Gateway | Notificaciones por SMS a clientes | REST API |
|
||
| Servicio de correo | Notificaciones por email (SendGrid o AWS SES) | SMTP / REST |
|
||
| Courier internacional | Estado de envío físico en EE.UU. (FedEx, DHL, UPS API) | REST API |
|
||
| **WhatsApp Business API** | Notificaciones automáticas + botón flotante de contacto en la web | REST API |
|
||
| **Software de bodega** | Sincronización en tiempo real de estados de tracking (propio) | REST API |
|
||
| **Normas INEN** | Consulta de certificaciones para carga sujeta a reglamento técnico | REST API / Web |
|
||
|
||
---
|
||
|
||
## 8. Requerimientos No Funcionales
|
||
|
||
| Requerimiento | Detalle |
|
||
|----------------------|-----------------------------------------------------------------------|
|
||
| Disponibilidad | 99.9% uptime (SLA) |
|
||
| Tiempo de respuesta | < 2 segundos para operaciones normales |
|
||
| Escalabilidad | Arquitectura multi-tenant preparada para múltiples empresas |
|
||
| Seguridad | ISO/IEC 27001, OWASP Top 10, TLS 1.3, AES-256, MFA obligatorio |
|
||
| Accesibilidad | 100% web, responsive, accesible desde cualquier dispositivo |
|
||
| Respaldo de datos | Backups automáticos diarios, retención mínima 90 días |
|
||
| Recuperación | RTO < 4 horas, RPO < 1 hora |
|
||
| Auditoría | Todos los eventos registrados con trazabilidad completa |
|
||
|
||
---
|
||
|
||
## 9. Consideraciones Adicionales
|
||
|
||
- **Identidad legal visible:** El sitio debe mostrar prominentemente que la operación está respaldada por dos empresas constituidas legalmente: Moraworld Imports S.A.S. (RUC Ecuador, Cuenca) y Mora Global Import LLC (New Jersey, EE.UU.).
|
||
- **Representantes legales:** El botón de WhatsApp mostrará dos opciones de contacto: representante en NJ y representante legal en Cuenca.
|
||
- **Protección de datos:** Los datos personales de clientes ecuatorianos están sujetos a la **Ley Orgánica de Protección de Datos Personales (LOPDP) de Ecuador** y, al procesarse en EE.UU., también a la normativa aplicable del estado de New Jersey.
|
||
- **Umbral aduanero:** El régimen **4x4** aplica hasta 4 envíos por año, máximo $400 USD y 4 kg por envío. Todo paquete que exceda estos límites requiere proceso de importación formal (DAI).
|
||
- **Categorías SENAE:** La calculadora debe actualizarse cuando el SENAE modifique las tablas arancelarias.
|
||
- **Cumplimiento INEN:** Para carga pesada (calzado, textiles, electrónicos), verificar si el producto requiere Registro de Conformidad o Certificado INEN antes de importar.
|
||
- **Consolidación:** El sistema soportará la consolidación de múltiples paquetes de un mismo cliente en un solo envío para optimizar costos.
|
||
- **API propia de bodega:** El sistema se diseñará con una capa de integración que permita conectarse al software propietario de gestión de bodega en NJ.
|
||
- **Multi-idioma:** Español e Inglés (para operadores en NJ).
|
||
- **Zona horaria:** EST (New Jersey) y ECT (Ecuador) — el sistema mostrará los tiempos en la zona horaria del usuario.
|
||
- **Estructura de navegación:** La web estará dividida claramente en dos servicios para no mezclarlos: **Casillero** y **Carga Pesada/Pallets**.
|
||
|
||
---
|
||
|
||
## 10. Estructura de Navegación del Sitio Web
|
||
|
||
```
|
||
main/
|
||
├── / (Landing Page principal)
|
||
│ ├── /como-funciona
|
||
│ ├── /calculadora
|
||
│ ├── /tarifas
|
||
│ └── /quienes-somos (legalidad, RUC, permisos, representantes)
|
||
│
|
||
├── /casillero/ (Servicio B2C)
|
||
│ ├── /casillero/como-usar
|
||
│ ├── /casillero/calculadora
|
||
│ └── /casillero/registro
|
||
│
|
||
├── /carga-pesada/ (Servicio B2B)
|
||
│ ├── /carga-pesada/como-funciona
|
||
│ ├── /carga-pesada/cotizacion ← Formulario de cotización especial
|
||
│ └── /carga-pesada/inen ← Info sobre normas INEN
|
||
│
|
||
├── /tracking ← Búsqueda pública de paquete por Tracking ID
|
||
│
|
||
└── /portal/ (App autenticada)
|
||
├── /portal/dashboard
|
||
├── /portal/mi-casillero
|
||
├── /portal/pre-alerta
|
||
├── /portal/mis-paquetes
|
||
├── /portal/calculadora
|
||
└── /portal/perfil
|
||
```
|
||
|
||
---
|
||
|
||
*Documento generado el 6 de mayo de 2026 — Sujeto a revisión y validación con el cliente.*
|
||
*Versión 1.1 — Merge con documento de objetivos sociales y funcionales de Moraworld Imports.*
|