{
  "schemaVersion": "mcp.session-report.snapshot.v2",
  "reportType": "mcp_session_report",
  "language": "vi",
  "generatedAt": "2026-08-04T05:02:49.644Z",
  "source": {
    "app": "MCP-Plan",
    "origin": "live"
  },
  "session": {
    "id": "session_ef9caac477294d71a6f036e90b35e9d0",
    "routeId": "route_e81d729d0cfb49eab4fff7434bb21c86",
    "routeName": "Test",
    "sessionDate": "2026-08-04",
    "sales": "Chưa phân công",
    "status": "active",
    "updatedAt": "2026-08-03T17:00:54.140Z"
  },
  "overview": {
    "planned": 1,
    "visited": 0,
    "pending": 1,
    "skipped": 0,
    "observations": 0,
    "orders": 0,
    "tests": 0,
    "followups": 0
  },
  "score": 30,
  "health": "risk",
  "insights": {
    "summary": "Phiên có độ phủ hoặc chất lượng dữ liệu thấp; cần xử lý các khoảng trống trước khi dùng làm báo cáo quản trị.",
    "reasons": [
      "Độ phủ thấp: 0/1 khách (0%)."
    ],
    "opportunities": [],
    "risks": [
      "Độ phủ thấp: 0/1 khách (0%)."
    ],
    "dataQuality": {
      "customerDetails": 1,
      "expectedCustomers": 1,
      "completeCustomerCoverage": true,
      "customersWithSignals": 0,
      "visitedWithoutSignals": 0
    }
  },
  "warnings": [
    "Độ phủ thấp: 0/1 khách (0%)."
  ],
  "recommendedActions": [
    {
      "type": "route_coverage",
      "priority": "high",
      "action": "Rà lại toàn bộ khách chưa ghé và ghi rõ lý do bỏ sót tuyến.",
      "reason": "Độ phủ thấp: 0/1 khách (0%)."
    }
  ],
  "customerDetails": [
    {
      "id": "session_customer_4dec2308d9b046929e6174cde19e2a29",
      "routeId": "route_e81d729d0cfb49eab4fff7434bb21c86",
      "routeCustomerId": "route_customer_fb036da0c2ba4ac799c34a6728f792ca",
      "customerId": "",
      "customerName": "Test",
      "phone": "",
      "area": "",
      "sortOrder": 0,
      "visitStatus": "pending",
      "statusReason": "",
      "note": "",
      "orderId": "",
      "testId": "",
      "reportId": "",
      "followupCount": 0,
      "orders": [],
      "tests": [],
      "observations": [],
      "followups": []
    }
  ],
  "market": {
    "competitors": [],
    "usedProducts": [],
    "observations": []
  },
  "commerce": {
    "orders": [],
    "tests": []
  },
  "followups": [],
  "aiPromptContext": {
    "schemaVersion": "mcp.session-report.ai-context.v1",
    "reportType": "mcp_session_report",
    "language": "vi",
    "selectedOnly": true,
    "task": "mcp_session_report_analysis",
    "instructions": [
      "Chỉ phân tích dữ liệu có trong context; không bịa dữ liệu còn thiếu.",
      "Nêu rõ dữ liệu chưa đủ hoặc mâu thuẫn thay vì suy đoán.",
      "Ưu tiên độ phủ tuyến, đơn hàng, test, quan sát, follow-up và hành động theo khách.",
      "Không tự tạo giá, số điện thoại, địa chỉ, doanh thu hoặc khách hàng."
    ],
    "session": {
      "id": "session_ef9caac477294d71a6f036e90b35e9d0",
      "routeId": "route_e81d729d0cfb49eab4fff7434bb21c86",
      "routeName": "Test",
      "sessionDate": "2026-08-04",
      "sales": "Chưa phân công",
      "status": "active",
      "updatedAt": "2026-08-03T17:00:54.140Z"
    },
    "overview": {
      "planned": 1,
      "visited": 0,
      "pending": 1,
      "skipped": 0,
      "observations": 0,
      "orders": 0,
      "tests": 0,
      "followups": 0
    },
    "assessment": {
      "score": 30,
      "health": "risk",
      "summary": "Phiên có độ phủ hoặc chất lượng dữ liệu thấp; cần xử lý các khoảng trống trước khi dùng làm báo cáo quản trị.",
      "reasons": [
        "Độ phủ thấp: 0/1 khách (0%)."
      ]
    },
    "warnings": [
      "Độ phủ thấp: 0/1 khách (0%)."
    ],
    "recommendedActions": [
      {
        "type": "route_coverage",
        "priority": "high",
        "action": "Rà lại toàn bộ khách chưa ghé và ghi rõ lý do bỏ sót tuyến.",
        "reason": "Độ phủ thấp: 0/1 khách (0%)."
      }
    ],
    "market": {
      "competitors": [],
      "usedProducts": [],
      "opportunities": [],
      "risks": [
        "Độ phủ thấp: 0/1 khách (0%)."
      ],
      "observations": []
    },
    "commerce": {
      "orders": [],
      "tests": []
    },
    "followups": [],
    "customerDetails": [
      {
        "id": "session_customer_4dec2308d9b046929e6174cde19e2a29",
        "routeId": "route_e81d729d0cfb49eab4fff7434bb21c86",
        "routeCustomerId": "route_customer_fb036da0c2ba4ac799c34a6728f792ca",
        "customerId": "",
        "customerName": "Test",
        "phone": "",
        "area": "",
        "sortOrder": 0,
        "visitStatus": "pending",
        "statusReason": "",
        "note": "",
        "orderId": "",
        "testId": "",
        "reportId": "",
        "followupCount": 0,
        "orders": [],
        "tests": [],
        "observations": [],
        "followups": []
      }
    ]
  },
  "aiResult": null,
  "aiAnalyzedAt": ""
}