{
  "id": 52011,
  "approval_no": "APP-202511120045",
  "transaction": {
    "id": 93010,
    "transaction_no": "OUT-20251112-0003"
  },
  "status": {
    "id": 6,
    "name": "회수",
    "color": "#8B5CF6",
    "is_blocking_next": true,
    "is_terminal": false
  },
  "current_step": null,
  "requester": {
    "id": 88,
    "employee_id": "E20250088",
    "employee_no": "E20250088",
    "name": "오요청"
  },
  "requested_at": "2025-09-20T01:10:00Z",
  "decided_at": "2025-09-20T01:22:30Z",
  "note": "출고 회수 테스트",
  "is_active": true,
  "is_deleted": false,
  "steps": [
    {
      "id": 73011,
      "step_order": 1,
      "status": {
        "id": 1,
        "name": "대기",
        "is_blocking_next": true,
        "is_terminal": false
      },
      "approver": {
        "id": 110,
        "employee_id": "E20250110",
        "employee_no": "E20250110",
        "name": "문검토"
      },
      "assigned_at": "2025-09-20T01:11:00Z",
      "decided_at": null,
      "note": null
    },
    {
      "id": 73012,
      "step_order": 2,
      "status": {
        "id": 1,
        "name": "대기",
        "is_blocking_next": true,
        "is_terminal": false
      },
      "approver": {
        "id": 210,
        "employee_id": "E20250210",
        "employee_no": "E20250210",
        "name": "강팀장"
      },
      "assigned_at": "2025-09-20T01:11:00Z",
      "decided_at": null,
      "note": null
    }
  ],
  "histories": [
    {
      "id": 94011,
      "action": {
        "id": 1,
        "name": "상신"
      },
      "from_status": null,
      "to_status": {
        "id": 1,
        "name": "대기",
        "is_blocking_next": true,
        "is_terminal": false
      },
      "approver": {
        "id": 88,
        "employee_id": "E20250088",
        "employee_no": "E20250088",
        "name": "오요청"
      },
      "action_at": "2025-09-20T01:10:00Z",
      "note": null
    },
    {
      "id": 94012,
      "action": {
        "id": 5,
        "name": "회수"
      },
      "from_status": {
        "id": 2,
        "name": "진행중",
        "is_blocking_next": true,
        "is_terminal": false
      },
      "to_status": {
        "id": 6,
        "name": "회수",
        "is_blocking_next": true,
        "is_terminal": false
      },
      "approver": {
        "id": 88,
        "employee_id": "E20250088",
        "employee_no": "E20250088",
        "name": "오요청"
      },
      "action_at": "2025-09-20T01:22:30Z",
      "note": "승인 지연으로 회수"
    }
  ],
  "created_at": "2025-09-20T01:10:00Z",
  "updated_at": "2025-09-20T01:22:30Z",
  "visibility": {
    "allowed_roles": [
      "requester"
    ],
    "restricted_roles": [
      "pending_approver",
      "external"
    ]
  },
  "permissions": {
    "can_recall": false,
    "can_resubmit": true,
    "can_comment": true
  }
}
