{
  "schema_version": 2,
  "diagram_type": "workflow",
  "meta": {
    "title": "Quản lý merchandise và tồn khả dụng — thiết kế đề xuất",
    "locale": "vi",
    "output": "docs/ssa-miniapp/archify/merchandise.html",
    "quality_profile": "showcase"
  },
  "lanes": [
    {
      "id": "main",
      "label": "Luồng nghiệp vụ"
    },
    {
      "id": "control",
      "label": "Điểm kiểm soát",
      "variant": "exception"
    }
  ],
  "mainPath": [
    "n0",
    "n1",
    "n2",
    "n3",
    "n4",
    "n5"
  ],
  "nodes": [
    {
      "id": "n0",
      "lane": "main",
      "col": 0,
      "type": "frontend",
      "label": "Soạn catalog",
      "sublabel": "SKU / size / màu / ảnh"
    },
    {
      "id": "n1",
      "lane": "main",
      "col": 1,
      "type": "security",
      "label": "Duyệt và xuất bản",
      "sublabel": "Giá / phiên bản / quyền"
    },
    {
      "id": "n2",
      "lane": "main",
      "col": 2,
      "type": "database",
      "label": "Tồn khả dụng",
      "sublabel": "Nhập / điều chỉnh có lý do"
    },
    {
      "id": "n3",
      "lane": "main",
      "col": 3,
      "type": "backend",
      "label": "Giữ hàng",
      "sublabel": "Đơn / số lượng / TTL"
    },
    {
      "id": "n4",
      "lane": "main",
      "col": 4,
      "type": "security",
      "label": "Kiểm kết quả tiền",
      "sublabel": "Xác nhận từ server"
    },
    {
      "id": "n5",
      "lane": "main",
      "col": 5,
      "type": "backend",
      "label": "Giao hoặc nhận",
      "sublabel": "Ghi biến động tồn một lần"
    },
    {
      "id": "hold",
      "lane": "control",
      "col": 4,
      "type": "security",
      "label": "Hết hạn / hủy",
      "sublabel": "Nhả giữ; tiền muộn → case"
    }
  ],
  "edges": [
    {
      "id": "e0",
      "from": "n0",
      "to": "n1",
      "variant": "emphasis"
    },
    {
      "id": "e1",
      "from": "n1",
      "to": "n2",
      "variant": "emphasis"
    },
    {
      "id": "e2",
      "from": "n2",
      "to": "n3",
      "variant": "emphasis"
    },
    {
      "id": "e3",
      "from": "n3",
      "to": "n4",
      "variant": "emphasis"
    },
    {
      "id": "e4",
      "from": "n4",
      "to": "n5",
      "variant": "emphasis"
    },
    {
      "id": "stop",
      "from": "n4",
      "to": "hold",
      "label": "Hết TTL / đã hủy",
      "variant": "security",
      "role": "branch"
    }
  ],
  "cards": [
    {
      "dot": "amber",
      "title": "Điểm phải nhớ",
      "items": [
        "Hết hàng chặn checkout; giữ hàng atomic để hai đơn không mua cùng SKU cuối. Giá đổi phải xác nhận lại.",
        "Tiền muộn không tự giao hay bỏ qua: vận hành quyết định cấp lại hàng hoặc hoàn có duyệt. Không xóa SKU đã có đơn.",
        "Pending chưa hết TTL không tự nhả giữ; hủy khi tiền unknown phải tra provider trước."
      ]
    },
    {
      "dot": "slate",
      "title": "Cơ sở thiết kế",
      "items": [
        "FEATURES.md §7, yêu cầu ngày 12/11/2026; tài liệu làm việc, chưa triển khai backend.",
        "Không phải trace runtime. Nội dung tiếng Việt; một số điều khiển Archify dùng tiếng Anh."
      ]
    }
  ]
}
