336 lines
11 KiB
SQL
336 lines
11 KiB
SQL
-- ============================================================================
|
|
-- SEED: Products Catalog
|
|
-- DESCRIPTION: Catalogo inicial de productos y servicios
|
|
-- VERSION: 1.0.0
|
|
-- CREATED: 2026-01-10
|
|
-- ============================================================================
|
|
|
|
-- Productos de Predicciones (One-Time)
|
|
INSERT INTO products.products (
|
|
sku, name, slug, description, short_description,
|
|
type, category, price, compare_price, currency,
|
|
features, limits,
|
|
ml_model_id, prediction_type, prediction_count,
|
|
image_url, badge, sort_order, is_active, is_vip, is_featured
|
|
) VALUES
|
|
-- Pack AMD Detector
|
|
(
|
|
'PRED-AMD-10',
|
|
'AMD Detector - Pack 10 Predicciones',
|
|
'amd-detector-10',
|
|
'Detecta patrones de Acumulación, Manipulación y Distribución en el mercado. Ideal para identificar movimientos institucionales.',
|
|
'10 predicciones AMD con 85% accuracy histórico',
|
|
'ONE_TIME', 'PREDICTION',
|
|
29.00, 39.00, 'USD',
|
|
'[
|
|
{"name": "10 predicciones AMD", "included": true},
|
|
{"name": "Válido por 30 días", "included": true},
|
|
{"name": "Accuracy histórico 85%", "included": true},
|
|
{"name": "Soporte email", "included": true}
|
|
]'::JSONB,
|
|
'{"predictions": 10, "validity_days": 30}'::JSONB,
|
|
'amd_detector', 'AMD', 10,
|
|
'/images/products/amd-detector.png',
|
|
'Popular',
|
|
1, TRUE, FALSE, TRUE
|
|
),
|
|
(
|
|
'PRED-AMD-50',
|
|
'AMD Detector - Pack 50 Predicciones',
|
|
'amd-detector-50',
|
|
'Pack profesional de 50 predicciones AMD. Ahorra 20% comparado con packs individuales.',
|
|
'50 predicciones AMD - Mejor valor',
|
|
'ONE_TIME', 'PREDICTION',
|
|
119.00, 145.00, 'USD',
|
|
'[
|
|
{"name": "50 predicciones AMD", "included": true},
|
|
{"name": "Válido por 60 días", "included": true},
|
|
{"name": "20% descuento", "included": true},
|
|
{"name": "Soporte prioritario", "included": true}
|
|
]'::JSONB,
|
|
'{"predictions": 50, "validity_days": 60}'::JSONB,
|
|
'amd_detector', 'AMD', 50,
|
|
'/images/products/amd-detector-pro.png',
|
|
'Ahorra 20%',
|
|
2, TRUE, FALSE, FALSE
|
|
),
|
|
-- Pack Range Predictor
|
|
(
|
|
'PRED-RANGE-10',
|
|
'Range Predictor - Pack 10 Predicciones',
|
|
'range-predictor-10',
|
|
'Predice rangos de precio con alta precisión. Perfecto para trading de soporte/resistencia.',
|
|
'10 predicciones de rango de precio',
|
|
'ONE_TIME', 'PREDICTION',
|
|
24.00, 34.00, 'USD',
|
|
'[
|
|
{"name": "10 predicciones de rango", "included": true},
|
|
{"name": "Válido por 30 días", "included": true},
|
|
{"name": "Incluye niveles S/R", "included": true}
|
|
]'::JSONB,
|
|
'{"predictions": 10, "validity_days": 30}'::JSONB,
|
|
'range_predictor', 'RANGE', 10,
|
|
'/images/products/range-predictor.png',
|
|
NULL,
|
|
3, TRUE, FALSE, FALSE
|
|
),
|
|
-- Pack TPSL
|
|
(
|
|
'PRED-TPSL-20',
|
|
'TP/SL Classifier - Pack 20 Predicciones',
|
|
'tpsl-classifier-20',
|
|
'Clasificador avanzado de Take Profit y Stop Loss óptimos basado en condiciones de mercado.',
|
|
'Optimiza tus exits con ML',
|
|
'ONE_TIME', 'PREDICTION',
|
|
49.00, 59.00, 'USD',
|
|
'[
|
|
{"name": "20 predicciones TP/SL", "included": true},
|
|
{"name": "Válido por 45 días", "included": true},
|
|
{"name": "Risk/Reward optimizado", "included": true}
|
|
]'::JSONB,
|
|
'{"predictions": 20, "validity_days": 45}'::JSONB,
|
|
'tpsl_classifier', 'TPSL', 20,
|
|
'/images/products/tpsl-classifier.png',
|
|
NULL,
|
|
4, TRUE, FALSE, FALSE
|
|
),
|
|
-- Pack Combo
|
|
(
|
|
'PRED-COMBO-STARTER',
|
|
'Combo Starter - AMD + Range + TPSL',
|
|
'combo-starter',
|
|
'Pack combinado perfecto para empezar. Incluye los 3 modelos básicos.',
|
|
'Todo lo que necesitas para empezar',
|
|
'ONE_TIME', 'PREDICTION',
|
|
79.00, 102.00, 'USD',
|
|
'[
|
|
{"name": "10 predicciones AMD", "included": true},
|
|
{"name": "10 predicciones Range", "included": true},
|
|
{"name": "10 predicciones TPSL", "included": true},
|
|
{"name": "Válido por 30 días", "included": true},
|
|
{"name": "22% descuento", "included": true}
|
|
]'::JSONB,
|
|
'{"predictions_amd": 10, "predictions_range": 10, "predictions_tpsl": 10, "validity_days": 30}'::JSONB,
|
|
NULL, 'COMBO', 30,
|
|
'/images/products/combo-starter.png',
|
|
'Best Value',
|
|
5, TRUE, FALSE, TRUE
|
|
)
|
|
ON CONFLICT (sku) DO UPDATE SET
|
|
name = EXCLUDED.name,
|
|
description = EXCLUDED.description,
|
|
price = EXCLUDED.price,
|
|
compare_price = EXCLUDED.compare_price,
|
|
features = EXCLUDED.features,
|
|
limits = EXCLUDED.limits,
|
|
badge = EXCLUDED.badge,
|
|
is_featured = EXCLUDED.is_featured,
|
|
updated_at = NOW();
|
|
|
|
-- Productos de Acceso a Agentes (Subscription)
|
|
INSERT INTO products.products (
|
|
sku, name, slug, description, short_description,
|
|
type, category, price, currency,
|
|
billing_interval, billing_interval_count,
|
|
features, limits, agent_type,
|
|
image_url, badge, sort_order, is_active, is_vip, is_featured
|
|
) VALUES
|
|
(
|
|
'AGENT-ATLAS-ACCESS',
|
|
'Atlas Agent - Acceso Mensual',
|
|
'atlas-agent-access',
|
|
'Acceso al agente conservador Atlas. Estrategia de bajo riesgo con retornos estables.',
|
|
'Trading conservador automatizado',
|
|
'SUBSCRIPTION', 'AGENT_ACCESS',
|
|
49.00, 'USD',
|
|
'MONTH', 1,
|
|
'[
|
|
{"name": "Acceso completo a Atlas", "included": true},
|
|
{"name": "Estrategia conservadora", "included": true},
|
|
{"name": "Max drawdown 10%", "included": true},
|
|
{"name": "Reportes diarios", "included": true}
|
|
]'::JSONB,
|
|
'{"max_allocation": 5000, "risk_level": "LOW"}'::JSONB,
|
|
'ATLAS',
|
|
'/images/agents/atlas.png',
|
|
NULL,
|
|
10, TRUE, FALSE, FALSE
|
|
),
|
|
(
|
|
'AGENT-ORION-ACCESS',
|
|
'Orion Agent - Acceso Mensual',
|
|
'orion-agent-access',
|
|
'Acceso al agente moderado Orion. Balance óptimo entre riesgo y retorno.',
|
|
'Trading balanceado automatizado',
|
|
'SUBSCRIPTION', 'AGENT_ACCESS',
|
|
79.00, 'USD',
|
|
'MONTH', 1,
|
|
'[
|
|
{"name": "Acceso completo a Orion", "included": true},
|
|
{"name": "Estrategia moderada", "included": true},
|
|
{"name": "Max drawdown 20%", "included": true},
|
|
{"name": "Reportes diarios", "included": true},
|
|
{"name": "Alertas en tiempo real", "included": true}
|
|
]'::JSONB,
|
|
'{"max_allocation": 10000, "risk_level": "MEDIUM"}'::JSONB,
|
|
'ORION',
|
|
'/images/agents/orion.png',
|
|
'Recomendado',
|
|
11, TRUE, FALSE, TRUE
|
|
),
|
|
(
|
|
'AGENT-NOVA-ACCESS',
|
|
'Nova Agent - Acceso Mensual',
|
|
'nova-agent-access',
|
|
'Acceso al agente agresivo Nova. Máximo potencial de retorno para traders experimentados.',
|
|
'Trading agresivo automatizado',
|
|
'SUBSCRIPTION', 'AGENT_ACCESS',
|
|
129.00, 'USD',
|
|
'MONTH', 1,
|
|
'[
|
|
{"name": "Acceso completo a Nova", "included": true},
|
|
{"name": "Estrategia agresiva", "included": true},
|
|
{"name": "Alto potencial de retorno", "included": true},
|
|
{"name": "Reportes en tiempo real", "included": true},
|
|
{"name": "Soporte prioritario", "included": true}
|
|
]'::JSONB,
|
|
'{"max_allocation": 25000, "risk_level": "HIGH"}'::JSONB,
|
|
'NOVA',
|
|
'/images/agents/nova.png',
|
|
'Pro',
|
|
12, TRUE, FALSE, FALSE
|
|
)
|
|
ON CONFLICT (sku) DO UPDATE SET
|
|
name = EXCLUDED.name,
|
|
description = EXCLUDED.description,
|
|
price = EXCLUDED.price,
|
|
features = EXCLUDED.features,
|
|
limits = EXCLUDED.limits,
|
|
badge = EXCLUDED.badge,
|
|
is_featured = EXCLUDED.is_featured,
|
|
updated_at = NOW();
|
|
|
|
-- Productos Educativos
|
|
INSERT INTO products.products (
|
|
sku, name, slug, description, short_description,
|
|
type, category, price, compare_price, currency,
|
|
features, limits,
|
|
image_url, badge, sort_order, is_active, is_vip, is_featured
|
|
) VALUES
|
|
(
|
|
'EDU-TRADING-101',
|
|
'Trading Fundamentals 101',
|
|
'trading-fundamentals-101',
|
|
'Curso completo de fundamentos de trading. Desde conceptos básicos hasta estrategias avanzadas.',
|
|
'Aprende trading desde cero',
|
|
'ONE_TIME', 'EDUCATION',
|
|
149.00, 199.00, 'USD',
|
|
'[
|
|
{"name": "20+ horas de video", "included": true},
|
|
{"name": "Acceso de por vida", "included": true},
|
|
{"name": "Certificado de completación", "included": true},
|
|
{"name": "Comunidad privada", "included": true}
|
|
]'::JSONB,
|
|
'{"lifetime_access": true}'::JSONB,
|
|
'/images/courses/trading-101.png',
|
|
NULL,
|
|
20, TRUE, FALSE, FALSE
|
|
),
|
|
(
|
|
'EDU-ML-TRADING',
|
|
'ML for Trading Masterclass',
|
|
'ml-trading-masterclass',
|
|
'Masterclass avanzado sobre Machine Learning aplicado al trading. Aprende a crear tus propios modelos.',
|
|
'Domina ML para trading',
|
|
'ONE_TIME', 'EDUCATION',
|
|
399.00, 499.00, 'USD',
|
|
'[
|
|
{"name": "40+ horas de contenido", "included": true},
|
|
{"name": "Código fuente incluido", "included": true},
|
|
{"name": "Acceso a datasets", "included": true},
|
|
{"name": "Mentorías grupales", "value": "4 sesiones"},
|
|
{"name": "Acceso de por vida", "included": true}
|
|
]'::JSONB,
|
|
'{"lifetime_access": true, "mentoring_sessions": 4}'::JSONB,
|
|
'/images/courses/ml-trading.png',
|
|
'Premium',
|
|
21, TRUE, FALSE, TRUE
|
|
)
|
|
ON CONFLICT (sku) DO UPDATE SET
|
|
name = EXCLUDED.name,
|
|
description = EXCLUDED.description,
|
|
price = EXCLUDED.price,
|
|
compare_price = EXCLUDED.compare_price,
|
|
features = EXCLUDED.features,
|
|
badge = EXCLUDED.badge,
|
|
is_featured = EXCLUDED.is_featured,
|
|
updated_at = NOW();
|
|
|
|
-- Productos VIP (referencia a tiers)
|
|
INSERT INTO products.products (
|
|
sku, name, slug, description, short_description,
|
|
type, category, price, currency,
|
|
billing_interval, billing_interval_count, trial_days,
|
|
features, limits,
|
|
image_url, badge, sort_order, is_active, is_vip, is_featured
|
|
) VALUES
|
|
(
|
|
'VIP-GOLD-MONTHLY',
|
|
'VIP Gold - Mensual',
|
|
'vip-gold-monthly',
|
|
'Suscripción VIP Gold con acceso a modelos premium',
|
|
'Tier Gold - $199/mes',
|
|
'VIP', 'PREMIUM_FEATURE',
|
|
199.00, 'USD',
|
|
'MONTH', 1, 7,
|
|
'[
|
|
{"name": "Ver todos los beneficios Gold", "included": true}
|
|
]'::JSONB,
|
|
'{"vip_tier": "GOLD"}'::JSONB,
|
|
'/images/vip/gold.png',
|
|
NULL,
|
|
30, TRUE, TRUE, FALSE
|
|
),
|
|
(
|
|
'VIP-PLATINUM-MONTHLY',
|
|
'VIP Platinum - Mensual',
|
|
'vip-platinum-monthly',
|
|
'Suscripción VIP Platinum con acceso completo',
|
|
'Tier Platinum - $399/mes',
|
|
'VIP', 'PREMIUM_FEATURE',
|
|
399.00, 'USD',
|
|
'MONTH', 1, 7,
|
|
'[
|
|
{"name": "Ver todos los beneficios Platinum", "included": true}
|
|
]'::JSONB,
|
|
'{"vip_tier": "PLATINUM"}'::JSONB,
|
|
'/images/vip/platinum.png',
|
|
'Popular',
|
|
31, TRUE, TRUE, TRUE
|
|
),
|
|
(
|
|
'VIP-DIAMOND-MONTHLY',
|
|
'VIP Diamond - Mensual',
|
|
'vip-diamond-monthly',
|
|
'Suscripción VIP Diamond - Acceso total ilimitado',
|
|
'Tier Diamond - $999/mes',
|
|
'VIP', 'PREMIUM_FEATURE',
|
|
999.00, 'USD',
|
|
'MONTH', 1, 14,
|
|
'[
|
|
{"name": "Ver todos los beneficios Diamond", "included": true}
|
|
]'::JSONB,
|
|
'{"vip_tier": "DIAMOND"}'::JSONB,
|
|
'/images/vip/diamond.png',
|
|
'Exclusive',
|
|
32, TRUE, TRUE, FALSE
|
|
)
|
|
ON CONFLICT (sku) DO UPDATE SET
|
|
name = EXCLUDED.name,
|
|
description = EXCLUDED.description,
|
|
price = EXCLUDED.price,
|
|
features = EXCLUDED.features,
|
|
badge = EXCLUDED.badge,
|
|
is_featured = EXCLUDED.is_featured,
|
|
updated_at = NOW();
|