{
  "schema_version": 1,
  "diagram_type": "erd",
  "meta": {
    "title": "Giao dịch và gửi tin — mô hình logic đề xuất",
    "locale": "vi",
    "output": "docs/ssa-miniapp/archify/commerce-data.html",
    "quality_profile": "showcase",
    "repository": {
      "url": "git@github.com:skan2026/ssa.git",
      "revision": "05bb7ca2dfe249d1bfb325b901ee8d7d2958d19e",
      "link_mode": "local-only"
    }
  },
  "layout": {
    "gapX": 110,
    "gapY": 100,
    "entityW": 300,
    "mode": "grid"
  },
  "entities": [
    {
      "id": "guardian",
      "label": "Guardian",
      "row": 0,
      "col": 0,
      "attributes": [
        {
          "name": "guardian_id"
        },
        {
          "name": "verified student scope"
        }
      ],
      "sources": [
        {
          "path": "docs/ssa-miniapp/PLAN.md",
          "line": 188,
          "end_line": 204,
          "label": "Thiết kế logic SSA"
        }
      ]
    },
    {
      "id": "request",
      "label": "Order / lead",
      "row": 0,
      "col": 1,
      "attributes": [
        {
          "name": "request_id"
        },
        {
          "name": "guardian + idempotency_key"
        }
      ],
      "sources": [
        {
          "path": "docs/ssa-miniapp/PLAN.md",
          "line": 188,
          "end_line": 204,
          "label": "Thiết kế logic SSA"
        }
      ]
    },
    {
      "id": "lines",
      "label": "Order lines (C1)",
      "row": 0,
      "col": 2,
      "attributes": [
        {
          "name": "request_id, variant_id"
        },
        {
          "name": "snapshot SKU / price"
        }
      ],
      "sources": [
        {
          "path": "docs/ssa-miniapp/PLAN.md",
          "line": 188,
          "end_line": 204,
          "label": "Thiết kế logic SSA"
        }
      ]
    },
    {
      "id": "survey",
      "label": "Survey submission",
      "row": 1,
      "col": 0,
      "attributes": [
        {
          "name": "round + guardian + student"
        },
        {
          "name": "answers versioned"
        }
      ],
      "sources": [
        {
          "path": "docs/ssa-miniapp/PLAN.md",
          "line": 188,
          "end_line": 204,
          "label": "Thiết kế logic SSA"
        }
      ]
    },
    {
      "id": "outbox",
      "label": "Outbox / delivery",
      "row": 1,
      "col": 1,
      "attributes": [
        {
          "name": "event ID; attempts; lease"
        },
        {
          "name": "provider ID; ambiguous outcome"
        }
      ],
      "sources": [
        {
          "path": "docs/ssa-miniapp/PLAN.md",
          "line": 188,
          "end_line": 204,
          "label": "Thiết kế logic SSA"
        }
      ]
    },
    {
      "id": "variant",
      "label": "Product variant",
      "row": 1,
      "col": 2,
      "attributes": [
        {
          "name": "variant_id"
        },
        {
          "name": "SKU, size, màu"
        }
      ],
      "sources": [
        {
          "path": "docs/ssa-miniapp/PLAN.md",
          "line": 188,
          "end_line": 204,
          "label": "Thiết kế logic SSA"
        }
      ]
    }
  ],
  "relationships": [
    {
      "id": "rel0",
      "from": "guardian",
      "to": "request",
      "fromCardinality": "one",
      "toCardinality": "many"
    },
    {
      "id": "rel1",
      "from": "request",
      "to": "lines",
      "fromCardinality": "one",
      "toCardinality": "many",
      "label": "C1"
    },
    {
      "id": "rel2",
      "from": "guardian",
      "to": "survey",
      "fromCardinality": "one",
      "toCardinality": "many"
    },
    {
      "id": "rel3",
      "from": "request",
      "to": "outbox",
      "fromCardinality": "one",
      "toCardinality": "many"
    },
    {
      "id": "rel4",
      "from": "lines",
      "to": "variant",
      "fromCardinality": "many",
      "toCardinality": "one"
    }
  ],
  "cards": [
    {
      "dot": "amber",
      "title": "Phạm vi và điều kiện",
      "items": [
        "Các nhóm logic, chưa phải schema vật lý. Nhánh Order lines chỉ dành cho C1; C2 dùng consultation request, không checkout/price trên client. Outbox/delivery được gộp; nguyên tắc và grain ở PLAN §5.2."
      ]
    }
  ]
}
