{
    "ok": true,
    "context": {
        "module": "team-online",
        "mode": "mock",
        "generated_at": "2026-05-28T00:30:15+00:00",
        "products": [
            {
                "id": "prod_corte_laser",
                "name": "Corte Láser",
                "slug": "corte-laser",
                "type": "service",
                "status": "published",
                "visible": true,
                "featured": false,
                "base_price": "450.00",
                "sale_price": null,
                "requires_file": true,
                "requires_stock": false,
                "image_url": "\/test-products\/corte-laser.webp",
                "meta": "{\"sale_unit\": \"metro\", \"requires_upload_note\": \"archivo con línea de corte\"}",
                "category_name": "Corte Láser",
                "stock_meters": "0.00",
                "stock_minimum": "0.00",
                "stock_status": "available"
            },
            {
                "id": "prod_dtf_textil",
                "name": "DTF Textil",
                "slug": "dtf-textil",
                "type": "service",
                "status": "published",
                "visible": true,
                "featured": false,
                "base_price": "0.00",
                "sale_price": null,
                "requires_file": true,
                "requires_stock": false,
                "image_url": "\/test-products\/dtf-textil.webp",
                "meta": "{\"requires_upload_note\": \"PNG con fondo transparente\"}",
                "category_name": "DTF",
                "stock_meters": "0.00",
                "stock_minimum": "0.00",
                "stock_status": "available"
            },
            {
                "id": "prod_impresion_calandrado",
                "name": "Impresión + Calandrado",
                "slug": "impresion-calandrado",
                "type": "service",
                "status": "published",
                "visible": true,
                "featured": true,
                "base_price": "1600.00",
                "sale_price": null,
                "requires_file": true,
                "requires_stock": false,
                "image_url": "\/test-products\/impresion-calandrado.webp",
                "meta": "{\"sale_unit\": \"metro\", \"requires_upload_note\": \"PDF\/CDR\/AI recomendado\"}",
                "category_name": "Servicios",
                "stock_meters": "0.00",
                "stock_minimum": "0.00",
                "stock_status": "available"
            },
            {
                "id": "prod_set_rojo",
                "name": "Set Común Rojo",
                "slug": "set-comun-rojo",
                "type": "fabric",
                "status": "published",
                "visible": true,
                "featured": true,
                "base_price": "3500.00",
                "sale_price": null,
                "requires_file": false,
                "requires_stock": true,
                "image_url": "\/test-products\/set-comun-rojo.webp",
                "meta": "{\"color\": \"rojo\", \"width\": \"1.60 m\", \"sale_unit\": \"metro\"}",
                "category_name": "Telas",
                "stock_meters": "20.00",
                "stock_minimum": "5.00",
                "stock_status": "available"
            },
            {
                "id": "prod_soft_negro",
                "name": "Soft Frizado Negro",
                "slug": "soft-frizado-negro",
                "type": "fabric",
                "status": "published",
                "visible": true,
                "featured": true,
                "base_price": "5400.00",
                "sale_price": null,
                "requires_file": false,
                "requires_stock": true,
                "image_url": "\/test-products\/soft-frizado-negro.webp",
                "meta": "{\"color\": \"negro\", \"width\": \"1.60 m\", \"sale_unit\": \"metro\", \"stale_candidate\": true}",
                "category_name": "Telas",
                "stock_meters": "80.00",
                "stock_minimum": "10.00",
                "stock_status": "available"
            }
        ],
        "lowStock": [],
        "outOfStock": [],
        "staleProducts": [
            {
                "product_id": "prod_soft_negro",
                "name": "Soft Frizado Negro",
                "reason": "Marcado como candidato test para promoción por baja rotación.",
                "stock_meters": 80
            }
        ],
        "pendingOrders": [
            {
                "id": "ord_70e17e5b1de093a6",
                "order_number": "TO-1DE093A6",
                "client_id": null,
                "customer_name": "Cliente Demo Admin",
                "customer_whatsapp": "5491100000000",
                "customer_email": "demo@sublimatex.shop",
                "status": "created",
                "payment_status": "pending",
                "file_status": "not_required",
                "production_status": "not_started",
                "subtotal": "27000.00",
                "discount_total": "0.00",
                "shipping_total": "0.00",
                "total": "27000.00",
                "source": "team_online_lab",
                "notes_client": "Checkout demo desde admin",
                "notes_internal": null,
                "created_at": "2026-05-27 23:06:02.239789+00",
                "updated_at": "2026-05-27 23:06:02.239789+00"
            },
            {
                "id": "ord_c072975bac672e85",
                "order_number": "TO-AC672E85",
                "client_id": null,
                "customer_name": "Cliente Demo Admin",
                "customer_whatsapp": "5491100000000",
                "customer_email": "demo@sublimatex.shop",
                "status": "created",
                "payment_status": "pending",
                "file_status": "not_required",
                "production_status": "not_started",
                "subtotal": "27000.00",
                "discount_total": "0.00",
                "shipping_total": "0.00",
                "total": "27000.00",
                "source": "team_online_lab",
                "notes_client": "Checkout demo desde admin",
                "notes_internal": null,
                "created_at": "2026-05-27 22:57:28.942625+00",
                "updated_at": "2026-05-27 22:57:28.942625+00"
            },
            {
                "id": "ord_bc73abfab45a659a",
                "order_number": "TO-B45A659A",
                "client_id": null,
                "customer_name": "Cliente Demo Admin",
                "customer_whatsapp": "5491100000000",
                "customer_email": "demo@sublimatex.shop",
                "status": "created",
                "payment_status": "pending",
                "file_status": "not_required",
                "production_status": "not_started",
                "subtotal": "27000.00",
                "discount_total": "0.00",
                "shipping_total": "0.00",
                "total": "27000.00",
                "source": "team_online_lab",
                "notes_client": "Checkout demo desde admin",
                "notes_internal": null,
                "created_at": "2026-05-27 22:57:24.655816+00",
                "updated_at": "2026-05-27 22:57:24.655816+00"
            },
            {
                "id": "ord_881c887db336486c",
                "order_number": "TO-B336486C",
                "client_id": null,
                "customer_name": "QA Cliente",
                "customer_whatsapp": "5491100000000",
                "customer_email": "qa@sublimatex.shop",
                "status": "created",
                "payment_status": "pending",
                "file_status": "not_required",
                "production_status": "not_started",
                "subtotal": "108000.00",
                "discount_total": "0.00",
                "shipping_total": "0.00",
                "total": "108000.00",
                "source": "team_online_lab",
                "notes_client": "QA checkout",
                "notes_internal": null,
                "created_at": "2026-05-27 22:48:52.532696+00",
                "updated_at": "2026-05-27 22:48:52.532696+00"
            }
        ],
        "pendingFiles": [],
        "draftPromotions": [],
        "campaignSuggestions": [],
        "alerts": {
            "low_stock_count": 0,
            "out_of_stock_count": 0,
            "pending_orders_count": 4,
            "pending_files_count": 0
        },
        "recommendations": [
            {
                "id": "rec_soft_negro_stale",
                "type": "stock_stale_candidate",
                "priority": "medium",
                "title": "Soft Frizado Negro candidato a promoción",
                "description": "Producto test para validar futuras reglas de tela estancada y promoción por WhatsApp.",
                "suggested_action": "Crear promoción en borrador si no registra ventas en el período definido.",
                "status": "open",
                "requires_approval": true,
                "created_at": "2026-05-27 22:47:13.148793+00",
                "updated_at": "2026-05-28 00:30:15.208841+00"
            }
        ]
    }
}