{
    "ok": true,
    "live_ops": {
        "version": "4.2.1-social-hub-dashboard-upgrade",
        "headline": "Live Ops Command Centre",
        "calendar": {
            "month": "2026-07",
            "today_day": 5,
            "claimed_count": 1,
            "total_days": 10,
            "can_claim_today": true,
            "claimable_day": 2,
            "days": [
                {
                    "id": 1,
                    "calendar_month": "2026-07",
                    "day_number": 1,
                    "label": "Monthly Kick-off",
                    "reward_json": "{\"coins\": 100, \"xp\": 25}",
                    "image_path": "",
                    "is_bonus_day": 0,
                    "is_enabled": 1,
                    "created_at": "2026-07-01 09:33:35",
                    "updated_at": "2026-07-01 09:33:35",
                    "reward": {
                        "coins": 100,
                        "xp": 25
                    },
                    "claimed": true,
                    "claim": {
                        "id": 1,
                        "user_id": 904,
                        "calendar_month": "2026-07",
                        "day_number": 1,
                        "claim_date": "2026-07-03",
                        "reward_json": "{\"coins\":100,\"xp\":25}",
                        "idempotency_key": "monthly_login_904_2026-07_1",
                        "claimed_at": "2026-07-03 23:44:34"
                    },
                    "is_today": false,
                    "can_claim": false,
                    "locked": false
                },
                {
                    "id": 2,
                    "calendar_month": "2026-07",
                    "day_number": 2,
                    "label": "Training Funds",
                    "reward_json": "{\"coins\": 125, \"xp\": 35}",
                    "image_path": "",
                    "is_bonus_day": 0,
                    "is_enabled": 1,
                    "created_at": "2026-07-01 09:33:35",
                    "updated_at": "2026-07-01 09:33:35",
                    "reward": {
                        "coins": 125,
                        "xp": 35
                    },
                    "claimed": false,
                    "claim": null,
                    "is_today": false,
                    "can_claim": true,
                    "locked": false
                },
                {
                    "id": 3,
                    "calendar_month": "2026-07",
                    "day_number": 3,
                    "label": "Pack Prep",
                    "reward_json": "{\"coins\": 150, \"xp\": 50}",
                    "image_path": "",
                    "is_bonus_day": 0,
                    "is_enabled": 1,
                    "created_at": "2026-07-01 09:33:35",
                    "updated_at": "2026-07-01 09:33:35",
                    "reward": {
                        "coins": 150,
                        "xp": 50
                    },
                    "claimed": false,
                    "claim": null,
                    "is_today": false,
                    "can_claim": true,
                    "locked": false
                },
                {
                    "id": 4,
                    "calendar_month": "2026-07",
                    "day_number": 4,
                    "label": "Squad Energy",
                    "reward_json": "{\"coins\": 175, \"xp\": 60}",
                    "image_path": "",
                    "is_bonus_day": 0,
                    "is_enabled": 1,
                    "created_at": "2026-07-01 09:33:35",
                    "updated_at": "2026-07-01 09:33:35",
                    "reward": {
                        "coins": 175,
                        "xp": 60
                    },
                    "claimed": false,
                    "claim": null,
                    "is_today": false,
                    "can_claim": true,
                    "locked": false
                },
                {
                    "id": 5,
                    "calendar_month": "2026-07",
                    "day_number": 5,
                    "label": "Event Push",
                    "reward_json": "{\"coins\": 225, \"xp\": 80, \"battlepass_xp\": 40}",
                    "image_path": "",
                    "is_bonus_day": 1,
                    "is_enabled": 1,
                    "created_at": "2026-07-01 09:33:35",
                    "updated_at": "2026-07-01 09:33:35",
                    "reward": {
                        "coins": 225,
                        "xp": 80,
                        "battlepass_xp": 40
                    },
                    "claimed": false,
                    "claim": null,
                    "is_today": true,
                    "can_claim": true,
                    "locked": false
                },
                {
                    "id": 6,
                    "calendar_month": "2026-07",
                    "day_number": 6,
                    "label": "Market Watch",
                    "reward_json": "{\"coins\": 175, \"xp\": 60}",
                    "image_path": "",
                    "is_bonus_day": 0,
                    "is_enabled": 1,
                    "created_at": "2026-07-01 09:33:35",
                    "updated_at": "2026-07-01 09:33:35",
                    "reward": {
                        "coins": 175,
                        "xp": 60
                    },
                    "claimed": false,
                    "claim": null,
                    "is_today": false,
                    "can_claim": false,
                    "locked": true
                },
                {
                    "id": 7,
                    "calendar_month": "2026-07",
                    "day_number": 7,
                    "label": "Weekly Bonus",
                    "reward_json": "{\"coins\": 350, \"gems\": 10, \"xp\": 120, \"battlepass_xp\": 80}",
                    "image_path": "",
                    "is_bonus_day": 1,
                    "is_enabled": 1,
                    "created_at": "2026-07-01 09:33:35",
                    "updated_at": "2026-07-01 09:33:35",
                    "reward": {
                        "coins": 350,
                        "gems": 10,
                        "xp": 120,
                        "battlepass_xp": 80
                    },
                    "claimed": false,
                    "claim": null,
                    "is_today": false,
                    "can_claim": false,
                    "locked": true
                },
                {
                    "id": 8,
                    "calendar_month": "2026-07",
                    "day_number": 14,
                    "label": "Fortnight Bonus",
                    "reward_json": "{\"coins\": 500, \"gems\": 20, \"xp\": 200, \"battlepass_xp\": 150}",
                    "image_path": "",
                    "is_bonus_day": 1,
                    "is_enabled": 1,
                    "created_at": "2026-07-01 09:33:35",
                    "updated_at": "2026-07-01 09:33:35",
                    "reward": {
                        "coins": 500,
                        "gems": 20,
                        "xp": 200,
                        "battlepass_xp": 150
                    },
                    "claimed": false,
                    "claim": null,
                    "is_today": false,
                    "can_claim": false,
                    "locked": true
                },
                {
                    "id": 9,
                    "calendar_month": "2026-07",
                    "day_number": 21,
                    "label": "Three Week Bonus",
                    "reward_json": "{\"coins\": 650, \"gems\": 30, \"xp\": 260, \"battlepass_xp\": 200}",
                    "image_path": "",
                    "is_bonus_day": 1,
                    "is_enabled": 1,
                    "created_at": "2026-07-01 09:33:35",
                    "updated_at": "2026-07-01 09:33:35",
                    "reward": {
                        "coins": 650,
                        "gems": 30,
                        "xp": 260,
                        "battlepass_xp": 200
                    },
                    "claimed": false,
                    "claim": null,
                    "is_today": false,
                    "can_claim": false,
                    "locked": true
                },
                {
                    "id": 10,
                    "calendar_month": "2026-07",
                    "day_number": 28,
                    "label": "Monthly Finish",
                    "reward_json": "{\"coins\": 1000, \"gems\": 60, \"xp\": 400, \"battlepass_xp\": 300}",
                    "image_path": "",
                    "is_bonus_day": 1,
                    "is_enabled": 1,
                    "created_at": "2026-07-01 09:33:35",
                    "updated_at": "2026-07-01 09:33:35",
                    "reward": {
                        "coins": 1000,
                        "gems": 60,
                        "xp": 400,
                        "battlepass_xp": 300
                    },
                    "claimed": false,
                    "claim": null,
                    "is_today": false,
                    "can_claim": false,
                    "locked": true
                }
            ]
        },
        "inbox_summary": {
            "total": 19,
            "unread": 19,
            "latest": [
                {
                    "id": 6,
                    "user_id": null,
                    "audience": "all",
                    "category": "system",
                    "title": "Phase 19 Unity visual screens are ready",
                    "body": "Unity app shell, Command Centre, card album, squad builder, match viewer, stadium, marketplace, live ops and support screen contracts are now available.",
                    "link_url": "/unity-visuals",
                    "priority": 290,
                    "status": "active",
                    "starts_at": null,
                    "expires_at": null,
                    "meta_json": "{\"phase\": \"19.10\"}",
                    "created_at": "2026-07-01 10:31:42",
                    "updated_at": "2026-07-01 10:31:42",
                    "read_at": null
                },
                {
                    "id": 5,
                    "user_id": null,
                    "audience": "all",
                    "category": "system",
                    "title": "Phase 18 Unity client wiring is ready",
                    "body": "Unity bootstrap, navigation, command centre, cards, squad, match viewer, stadium, marketplace, live ops and debug payloads are now available.",
                    "link_url": "/unity-client",
                    "priority": 280,
                    "status": "active",
                    "starts_at": null,
                    "expires_at": null,
                    "meta_json": "{\"phase\": \"18.10\"}",
                    "created_at": "2026-07-01 10:06:10",
                    "updated_at": "2026-07-01 10:06:10",
                    "read_at": null
                },
                {
                    "id": 4,
                    "user_id": null,
                    "audience": "all",
                    "category": "system",
                    "title": "Phase 17 Command Centre is ready",
                    "body": "Unified mobile payloads, screen registry, player settings, help centre, support readiness and client telemetry are now available.",
                    "link_url": "/command-centre",
                    "priority": 260,
                    "status": "active",
                    "starts_at": null,
                    "expires_at": null,
                    "meta_json": "{\"phase\": \"17.10\"}",
                    "created_at": "2026-07-01 09:56:14",
                    "updated_at": "2026-07-01 09:56:14",
                    "read_at": null
                }
            ]
        },
        "leaderboards": {
            "events": [
                {
                    "event": {
                        "id": 1,
                        "slug": "origin-launch-series",
                        "name": "Origin Launch Series",
                        "event_type": "season",
                        "status": "active",
                        "description": "Opening live-ops event with daily challenges, battlepass XP and stadium points.",
                        "banner_image_path": null,
                        "starts_at": "2026-06-25 15:31:28",
                        "ends_at": "2026-07-26 15:31:28",
                        "reward_json": "{\"coins\": 500, \"xp\": 250}",
                        "settings_json": "{\"theme\": \"origin\", \"featured_pack\": \"Starter Pack\"}",
                        "is_featured": 1,
                        "created_at": "2026-06-26 15:31:28",
                        "updated_at": "2026-06-26 15:31:28",
                        "deleted_at": null
                    },
                    "top": [],
                    "period_key": "2026-W27"
                },
                {
                    "event": {
                        "id": 2,
                        "slug": "stadium-control-week",
                        "name": "Stadium Control Week",
                        "event_type": "stadium",
                        "status": "active",
                        "description": "Limited stadium control event with ownership rewards and event point milestones.",
                        "banner_image_path": null,
                        "starts_at": "2026-06-29 10:08:20",
                        "ends_at": "2026-07-14 10:08:20",
                        "reward_json": "{\"coins\": 400, \"xp\": 180}",
                        "settings_json": "{\"theme\": \"stadium\", \"phase\": \"13.9\"}",
                        "is_featured": 1,
                        "created_at": "2026-06-30 10:08:20",
                        "updated_at": "2026-06-30 10:08:20",
                        "deleted_at": null
                    },
                    "top": [],
                    "period_key": "2026-W27"
                }
            ],
            "season": [
                {
                    "user_id": "904",
                    "display_name": "aussiewarrior",
                    "points": "555",
                    "rating_current": "953",
                    "wins": "340",
                    "losses": "0"
                }
            ],
            "battlepass": [
                {
                    "user_id": "904",
                    "display_name": "aussiewarrior",
                    "xp": "3409"
                },
                {
                    "user_id": "2",
                    "display_name": "Player_07",
                    "xp": "750"
                },
                {
                    "user_id": "907",
                    "display_name": "BushBaher",
                    "xp": "0"
                }
            ],
            "collection": [
                {
                    "user_id": "904",
                    "display_name": "aussiewarrior",
                    "cards_owned": "41"
                },
                {
                    "user_id": "907",
                    "display_name": "BushBaher",
                    "cards_owned": "17"
                },
                {
                    "user_id": "901",
                    "display_name": "Jake Taylor",
                    "cards_owned": "2"
                },
                {
                    "user_id": "902",
                    "display_name": "Cooper Harris",
                    "cards_owned": "2"
                },
                {
                    "user_id": "903",
                    "display_name": "Mia Roberts",
                    "cards_owned": "1"
                }
            ]
        },
        "battlepass": {
            "state": {
                "season": {
                    "id": "1",
                    "slug": "launch-pass-1",
                    "name": "Launch Superpass",
                    "description": "First live-ops reward track for the long-build launch state.",
                    "status": "active",
                    "starts_at": "2026-06-25 15:31:28",
                    "ends_at": "2026-08-10 15:31:28",
                    "premium_price_gems": "950",
                    "settings_json": "{\"tier_count\": 10, \"xp_per_tier\": 500}",
                    "created_at": "2026-06-26 15:31:28",
                    "updated_at": "2026-06-26 15:31:28",
                    "deleted_at": null
                },
                "progress": {
                    "id": 2,
                    "user_id": 904,
                    "season_id": 1,
                    "xp": 3409,
                    "premium_unlocked": 0,
                    "created_at": "2026-06-27 01:51:44",
                    "updated_at": "2026-07-04 20:40:58"
                },
                "tiers": [
                    {
                        "id": 1,
                        "season_id": 1,
                        "tier_number": 1,
                        "xp_required": 0,
                        "free_reward_json": "{\"coins\": 100}",
                        "premium_reward_json": "{\"coins\": 250, \"gems\": 25}",
                        "created_at": "2026-06-26 15:31:28",
                        "free_claim_id": 1,
                        "premium_claim_id": null,
                        "free_reward": {
                            "coins": 100
                        },
                        "premium_reward": {
                            "coins": 250,
                            "gems": 25
                        },
                        "unlocked": true
                    },
                    {
                        "id": 2,
                        "season_id": 1,
                        "tier_number": 2,
                        "xp_required": 500,
                        "free_reward_json": "{\"coins\": 150, \"xp\": 50}",
                        "premium_reward_json": "{\"coins\": 350, \"gems\": 40}",
                        "created_at": "2026-06-26 15:31:28",
                        "free_claim_id": 2,
                        "premium_claim_id": null,
                        "free_reward": {
                            "coins": 150,
                            "xp": 50
                        },
                        "premium_reward": {
                            "coins": 350,
                            "gems": 40
                        },
                        "unlocked": true
                    },
                    {
                        "id": 3,
                        "season_id": 1,
                        "tier_number": 3,
                        "xp_required": 1000,
                        "free_reward_json": "{\"coins\": 200}",
                        "premium_reward_json": "{\"coins\": 500, \"gems\": 50}",
                        "created_at": "2026-06-26 15:31:28",
                        "free_claim_id": 3,
                        "premium_claim_id": null,
                        "free_reward": {
                            "coins": 200
                        },
                        "premium_reward": {
                            "coins": 500,
                            "gems": 50
                        },
                        "unlocked": true
                    },
                    {
                        "id": 4,
                        "season_id": 1,
                        "tier_number": 4,
                        "xp_required": 1500,
                        "free_reward_json": "{\"xp\": 200}",
                        "premium_reward_json": "{\"coins\": 600, \"gems\": 60}",
                        "created_at": "2026-06-26 15:31:28",
                        "free_claim_id": 4,
                        "premium_claim_id": null,
                        "free_reward": {
                            "xp": 200
                        },
                        "premium_reward": {
                            "coins": 600,
                            "gems": 60
                        },
                        "unlocked": true
                    },
                    {
                        "id": 5,
                        "season_id": 1,
                        "tier_number": 5,
                        "xp_required": 2000,
                        "free_reward_json": "{\"coins\": 400}",
                        "premium_reward_json": "{\"coins\": 900, \"gems\": 80}",
                        "created_at": "2026-06-26 15:31:28",
                        "free_claim_id": 5,
                        "premium_claim_id": null,
                        "free_reward": {
                            "coins": 400
                        },
                        "premium_reward": {
                            "coins": 900,
                            "gems": 80
                        },
                        "unlocked": true
                    },
                    {
                        "id": 6,
                        "season_id": 1,
                        "tier_number": 6,
                        "xp_required": 2500,
                        "free_reward_json": "{\"coins\": 450}",
                        "premium_reward_json": "{\"coins\": 1000, \"gems\": 90}",
                        "created_at": "2026-06-26 15:31:28",
                        "free_claim_id": 6,
                        "premium_claim_id": null,
                        "free_reward": {
                            "coins": 450
                        },
                        "premium_reward": {
                            "coins": 1000,
                            "gems": 90
                        },
                        "unlocked": true
                    },
                    {
                        "id": 7,
                        "season_id": 1,
                        "tier_number": 7,
                        "xp_required": 3000,
                        "free_reward_json": "{\"xp\": 400}",
                        "premium_reward_json": "{\"coins\": 1200, \"gems\": 100}",
                        "created_at": "2026-06-26 15:31:28",
                        "free_claim_id": 7,
                        "premium_claim_id": null,
                        "free_reward": {
                            "xp": 400
                        },
                        "premium_reward": {
                            "coins": 1200,
                            "gems": 100
                        },
                        "unlocked": true
                    },
                    {
                        "id": 8,
                        "season_id": 1,
                        "tier_number": 8,
                        "xp_required": 3500,
                        "free_reward_json": "{\"coins\": 650}",
                        "premium_reward_json": "{\"coins\": 1500, \"gems\": 120}",
                        "created_at": "2026-06-26 15:31:28",
                        "free_claim_id": null,
                        "premium_claim_id": null,
                        "free_reward": {
                            "coins": 650
                        },
                        "premium_reward": {
                            "coins": 1500,
                            "gems": 120
                        },
                        "unlocked": false
                    },
                    {
                        "id": 9,
                        "season_id": 1,
                        "tier_number": 9,
                        "xp_required": 4000,
                        "free_reward_json": "{\"coins\": 800}",
                        "premium_reward_json": "{\"coins\": 1800, \"gems\": 150}",
                        "created_at": "2026-06-26 15:31:28",
                        "free_claim_id": null,
                        "premium_claim_id": null,
                        "free_reward": {
                            "coins": 800
                        },
                        "premium_reward": {
                            "coins": 1800,
                            "gems": 150
                        },
                        "unlocked": false
                    },
                    {
                        "id": 10,
                        "season_id": 1,
                        "tier_number": 10,
                        "xp_required": 4500,
                        "free_reward_json": "{\"coins\": 1000, \"xp\": 500}",
                        "premium_reward_json": "{\"coins\": 2500, \"gems\": 250}",
                        "created_at": "2026-06-26 15:31:28",
                        "free_claim_id": null,
                        "premium_claim_id": null,
                        "free_reward": {
                            "coins": 1000,
                            "xp": 500
                        },
                        "premium_reward": {
                            "coins": 2500,
                            "gems": 250
                        },
                        "unlocked": false
                    }
                ]
            },
            "xp": 3409,
            "unlocked_tiers": 7,
            "tier_count": 10,
            "free_claimable": 0,
            "premium_claimable": 0,
            "next_tier": {
                "id": 8,
                "season_id": 1,
                "tier_number": 8,
                "xp_required": 3500,
                "free_reward_json": "{\"coins\": 650}",
                "premium_reward_json": "{\"coins\": 1500, \"gems\": 120}",
                "created_at": "2026-06-26 15:31:28",
                "free_claim_id": null,
                "premium_claim_id": null,
                "free_reward": {
                    "coins": 650
                },
                "premium_reward": {
                    "coins": 1500,
                    "gems": 120
                },
                "unlocked": false
            },
            "tier_progress_percent": 81.7999999999999971578290569595992565155029296875,
            "premium_unlocked": false
        },
        "login_summary": {
            "state": {
                "user_id": 904,
                "streak_count": 3,
                "reward_step": 6,
                "last_claimed_date": "2026-07-04",
                "cycle_key": "2026-27",
                "updated_at": "2026-07-04 01:13:40",
                "can_claim": true,
                "next_step": 7,
                "rewards": {
                    "1": {
                        "coins": 100,
                        "xp": 25,
                        "_label": "Day 1 Starter Reward",
                        "_image": ""
                    },
                    "2": {
                        "coins": 150,
                        "xp": 40,
                        "_label": "Day 2 Training Reward",
                        "_image": ""
                    },
                    "3": {
                        "coins": 200,
                        "xp": 60,
                        "_label": "Day 3 Squad Boost",
                        "_image": ""
                    },
                    "4": {
                        "coins": 300,
                        "xp": 90,
                        "_label": "Day 4 Battle Prep",
                        "_image": ""
                    },
                    "5": {
                        "coins": 400,
                        "xp": 120,
                        "_label": "Day 5 Pack Funds",
                        "_image": ""
                    },
                    "6": {
                        "coins": 550,
                        "xp": 150,
                        "battlepass_xp": 75,
                        "_label": "Day 6 Superpass Push",
                        "_image": ""
                    },
                    "7": {
                        "coins": 800,
                        "gems": 50,
                        "xp": 220,
                        "battlepass_xp": 150,
                        "_label": "Day 7 Premium Finish",
                        "_image": ""
                    }
                }
            },
            "current_step": 6,
            "next_step": 7,
            "can_claim": true,
            "streak_count": 3,
            "reset_label": "Sunday 11pm local reset",
            "headline": "Daily reward ready"
        },
        "event_shop": [
            {
                "id": 1,
                "event_id": 1,
                "item_type": "bundle",
                "item_name": "Daily Grind Bundle",
                "description": "A starter event shop reward bundle for active players.",
                "image_path": "",
                "price_currency": "event_points",
                "price_amount": 250,
                "reward_json": "{\"coins\": 400, \"xp\": 200, \"battlepass_xp\": 120}",
                "purchase_limit_per_user": 2,
                "daily_limit_per_user": 1,
                "refresh_group": null,
                "starts_at": null,
                "ends_at": null,
                "status": "active",
                "weight": 200,
                "meta_json": "{\"phase\": \"13.18\"}",
                "created_at": "2026-06-30 10:24:32",
                "updated_at": "2026-06-30 10:24:32",
                "deleted_at": null,
                "event_name": "Origin Launch Series",
                "reward": {
                    "coins": 400,
                    "xp": 200,
                    "battlepass_xp": 120
                },
                "purchased_count": 0,
                "remaining_for_user": 2,
                "can_purchase": true
            },
            {
                "id": 2,
                "event_id": 2,
                "item_type": "bundle",
                "item_name": "Stadium Raider Bundle",
                "description": "Reward bundle for stadium attackers and world control players.",
                "image_path": "",
                "price_currency": "event_points",
                "price_amount": 500,
                "reward_json": "{\"coins\": 800, \"gems\": 35, \"xp\": 360, \"battlepass_xp\": 200}",
                "purchase_limit_per_user": 1,
                "daily_limit_per_user": null,
                "refresh_group": null,
                "starts_at": null,
                "ends_at": null,
                "status": "active",
                "weight": 180,
                "meta_json": "{\"phase\": \"13.18\"}",
                "created_at": "2026-06-30 10:24:32",
                "updated_at": "2026-06-30 10:24:32",
                "deleted_at": null,
                "event_name": "Stadium Control Week",
                "reward": {
                    "coins": 800,
                    "gems": 35,
                    "xp": 360,
                    "battlepass_xp": 200
                },
                "purchased_count": 0,
                "remaining_for_user": 1,
                "can_purchase": true
            }
        ],
        "mission_chains": [
            {
                "id": "1",
                "event_id": "1",
                "slug": "foundation-daily-chain",
                "name": "Foundation Daily Mission Chain",
                "description": "Complete a short sequence of gameplay objectives to claim an event bonus.",
                "final_reward_json": "{\"coins\": 500, \"xp\": 250, \"battlepass_xp\": 150}",
                "status": "active",
                "starts_at": null,
                "ends_at": null,
                "weight": "200",
                "created_at": "2026-06-30 10:24:32",
                "updated_at": "2026-06-30 10:24:32",
                "deleted_at": null,
                "event_name": "Origin Launch Series",
                "steps": [
                    {
                        "id": 1,
                        "chain_id": 1,
                        "step_number": 1,
                        "title": "Play a Match",
                        "description": "Play any 80-minute match or hybrid battle.",
                        "activity_type": "battle_played",
                        "target_value": 1,
                        "reward_json": "{\"coins\": 100, \"xp\": 50}",
                        "unlock_mode": "sequential",
                        "is_enabled": 1,
                        "created_at": "2026-06-30 10:24:32",
                        "updated_at": "2026-06-30 10:24:32",
                        "progress": {
                            "id": 1,
                            "user_id": 904,
                            "chain_id": 1,
                            "step_id": 1,
                            "progress_value": 0,
                            "is_completed": 0,
                            "claimed_at": null,
                            "completed_at": null,
                            "updated_at": "2026-06-30 20:25:38"
                        },
                        "percent": 0,
                        "locked": false,
                        "reward": {
                            "coins": 100,
                            "xp": 50
                        }
                    },
                    {
                        "id": 2,
                        "chain_id": 1,
                        "step_number": 2,
                        "title": "Win a Battle",
                        "description": "Win any battle mode.",
                        "activity_type": "battle_win",
                        "target_value": 1,
                        "reward_json": "{\"coins\": 150, \"xp\": 75, \"battlepass_xp\": 40}",
                        "unlock_mode": "sequential",
                        "is_enabled": 1,
                        "created_at": "2026-06-30 10:24:32",
                        "updated_at": "2026-06-30 10:24:32",
                        "progress": {
                            "id": 2,
                            "user_id": 904,
                            "chain_id": 1,
                            "step_id": 2,
                            "progress_value": 0,
                            "is_completed": 0,
                            "claimed_at": null,
                            "completed_at": null,
                            "updated_at": "2026-06-30 20:25:38"
                        },
                        "percent": 0,
                        "locked": true,
                        "reward": {
                            "coins": 150,
                            "xp": 75,
                            "battlepass_xp": 40
                        }
                    },
                    {
                        "id": 3,
                        "chain_id": 1,
                        "step_number": 3,
                        "title": "Open a Pack",
                        "description": "Open any pack from inventory.",
                        "activity_type": "pack_opened",
                        "target_value": 1,
                        "reward_json": "{\"coins\": 200, \"xp\": 100, \"battlepass_xp\": 80}",
                        "unlock_mode": "sequential",
                        "is_enabled": 1,
                        "created_at": "2026-06-30 10:24:32",
                        "updated_at": "2026-06-30 10:24:32",
                        "progress": {
                            "id": 3,
                            "user_id": 904,
                            "chain_id": 1,
                            "step_id": 3,
                            "progress_value": 0,
                            "is_completed": 0,
                            "claimed_at": null,
                            "completed_at": null,
                            "updated_at": "2026-06-30 20:25:38"
                        },
                        "percent": 0,
                        "locked": true,
                        "reward": {
                            "coins": 200,
                            "xp": 100,
                            "battlepass_xp": 80
                        }
                    }
                ],
                "completed_steps": 0,
                "step_count": 3,
                "progress_percent": 0,
                "final_reward": {
                    "coins": 500,
                    "xp": 250,
                    "battlepass_xp": 150
                }
            }
        ],
        "recommended_actions": [
            {
                "title": "Claim today's login reward",
                "label": "Claim today's login reward",
                "url": "/live",
                "type": "claim",
                "priority": 100
            },
            {
                "title": "Add speed on the edges",
                "body": "Your collection is short on wingers. Look for event packs or market targets that improve edge finishing.",
                "url": "/shop",
                "type": "squad",
                "priority": 80
            },
            {
                "title": "Event shop has live items",
                "body": "You have enough balance or event points to chase limited-time rewards.",
                "url": "/live#event-shop",
                "type": "shop",
                "priority": 75
            },
            {
                "title": "Stadium target available",
                "body": "A stadium opportunity is open. Attack now to build income and leaderboard standing.",
                "url": "/stadiums",
                "type": "stadium",
                "priority": 70
            },
            {
                "title": "Attack an open stadium target",
                "label": "Attack an open stadium target",
                "url": "/stadiums",
                "type": "stadium",
                "priority": 70
            },
            {
                "title": "Play a match to progress missions",
                "label": "Play a match to progress missions",
                "url": "/battle",
                "type": "play",
                "priority": 50
            }
        ],
        "notifications": [
            {
                "id": 6,
                "user_id": null,
                "audience": "all",
                "category": "system",
                "title": "Phase 19 Unity visual screens are ready",
                "body": "Unity app shell, Command Centre, card album, squad builder, match viewer, stadium, marketplace, live ops and support screen contracts are now available.",
                "link_url": "/unity-visuals",
                "priority": 290,
                "status": "active",
                "starts_at": null,
                "expires_at": null,
                "meta_json": "{\"phase\": \"19.10\"}",
                "created_at": "2026-07-01 10:31:42",
                "updated_at": "2026-07-01 10:31:42",
                "read_at": null
            },
            {
                "id": 5,
                "user_id": null,
                "audience": "all",
                "category": "system",
                "title": "Phase 18 Unity client wiring is ready",
                "body": "Unity bootstrap, navigation, command centre, cards, squad, match viewer, stadium, marketplace, live ops and debug payloads are now available.",
                "link_url": "/unity-client",
                "priority": 280,
                "status": "active",
                "starts_at": null,
                "expires_at": null,
                "meta_json": "{\"phase\": \"18.10\"}",
                "created_at": "2026-07-01 10:06:10",
                "updated_at": "2026-07-01 10:06:10",
                "read_at": null
            },
            {
                "id": 4,
                "user_id": null,
                "audience": "all",
                "category": "system",
                "title": "Phase 17 Command Centre is ready",
                "body": "Unified mobile payloads, screen registry, player settings, help centre, support readiness and client telemetry are now available.",
                "link_url": "/command-centre",
                "priority": 260,
                "status": "active",
                "starts_at": null,
                "expires_at": null,
                "meta_json": "{\"phase\": \"17.10\"}",
                "created_at": "2026-07-01 09:56:14",
                "updated_at": "2026-07-01 09:56:14",
                "read_at": null
            },
            {
                "id": 1,
                "user_id": null,
                "audience": "all",
                "category": "event",
                "title": "Phase 16 live ops calendar is active",
                "body": "Monthly login rewards, inbox, seasonal leaderboards and final Live Ops QA have been added.",
                "link_url": "/live",
                "priority": 240,
                "status": "active",
                "starts_at": null,
                "expires_at": null,
                "meta_json": "{\"phase\": \"16.10\"}",
                "created_at": "2026-07-01 09:33:35",
                "updated_at": "2026-07-01 09:33:35",
                "read_at": null
            },
            {
                "id": 2,
                "user_id": null,
                "audience": "all",
                "category": "battlepass",
                "title": "Superpass rewards are ready to track",
                "body": "Complete daily, weekly and event objectives to push your Superpass XP.",
                "link_url": "/live",
                "priority": 210,
                "status": "active",
                "starts_at": null,
                "expires_at": null,
                "meta_json": "{\"phase\": \"16.10\"}",
                "created_at": "2026-07-01 09:33:35",
                "updated_at": "2026-07-01 09:33:35",
                "read_at": null
            },
            {
                "id": 3,
                "user_id": null,
                "audience": "all",
                "category": "stadium",
                "title": "Stadium battles feed live ops",
                "body": "Win Stadium Battles to progress events, leaderboards and live-service objectives.",
                "link_url": "/stadiums",
                "priority": 190,
                "status": "active",
                "starts_at": null,
                "expires_at": null,
                "meta_json": "{\"phase\": \"16.10\"}",
                "created_at": "2026-07-01 09:33:35",
                "updated_at": "2026-07-01 09:33:35",
                "read_at": null
            },
            {
                "id": 7,
                "user_id": 904,
                "audience": "user",
                "category": "reward",
                "title": "Monthly calendar reward claimed",
                "body": "Your monthly login calendar reward has been added.",
                "link_url": "/live",
                "priority": 180,
                "status": "active",
                "starts_at": null,
                "expires_at": null,
                "meta_json": "{\"reward\":{\"coins\":100,\"xp\":25}}",
                "created_at": "2026-07-03 23:44:34",
                "updated_at": "2026-07-03 23:44:34",
                "read_at": null
            },
            {
                "id": "notification-40",
                "source": "notifications",
                "category": "stadium_captured",
                "title": "Stadium captured",
                "body": "You now own a stadium zone.",
                "link_url": "/live",
                "priority": 120,
                "read_at": null,
                "created_at": "2026-07-04 04:04:56"
            }
        ],
        "qa_status": "green"
    }
}