--- card_id: "customer/account" title: "Tài khoản Sản phẩm (Account)" domain: "customer" related_cards: - "customer/customer_overview" - "customer/card" tags: ["account", "PAL", "PAT", "CIF"] --- # Tài khoản Sản phẩm (Account) ## Mô tả ngắn Account (Tài khoản Sản phẩm) là thực thể đại diện cho các tài khoản tài chính hoặc dịch vụ của khách hàng trong hệ thống. Các tài khoản này có thể được đồng bộ từ hệ thống bên ngoài hoặc được tạo trực tiếp trên hệ thống Loyalty thông qua quyền quản trị. Mỗi tài khoản bắt buộc thuộc về một khách hàng duy nhất. ## Thuật ngữ liên quan - **CIF**: Customer Information File - Mã định danh duy nhất của khách hàng trên hệ thống. - **PAL**: Product Account Level - Hạng tài khoản sản phẩm. - **PAT**: Product Account Type - Loại tài khoản sản phẩm, phải thuộc về một PAL tương ứng. - **ASN**: Account Sequence Number - Số thứ tự tài khoản duy nhất trong hệ thống kết hợp từ Account Type và Account No. - **OLSACCT**: Tên luồng batch xử lý đồng bộ dữ liệu tài khoản từ hệ thống bên ngoài. ## Cấu trúc dữ liệu (Data Schema) ### Thông tin chung (Account Information) | Field (EN/VN) | Description | Data type / Rules | | --- | --- | --- | | CIF number | Mã khách hàng sở hữu tài khoản. | Hiển thị (Lookup). | | Product Account Level (PAL) | Hạng tài khoản (VD: Gold, Silver). | Lookup từ danh mục PAL. | | Product Account Type (PAT) | Loại tài khoản thuộc về PAL. PAL + PAT = Account Type. | Lookup từ danh mục PAT. | | Account Number | Số tài khoản sản phẩm. | X(20). Kết hợp Account Type + Account Number phải là DUY NHẤT. | | Account Open Date | Ngày mở tài khoản. | Date. | | Account Indicator | Chỉ thị tài khoản (VD: P-Personal, C-Corporate). | Lookup (Acct-indicator). | | Account block code | Mã chặn tài khoản (dùng validate chặn giao dịch). | X(10). | | Block code reason | Lý do chặn. | X(100). | | Block code last update date | Ngày cập nhật trạng thái chặn cuối cùng. | Date. | | Cycle | Ngày sao kê. | 9(02). Phải > 0. | | Account status | Trạng thái tài khoản (dùng để chặn giao dịch nếu cần). | Lookup từ danh mục trạng thái. | ### Thông tin thẻ liên kết (Card Information) | Field | Description | Rules | | --- | --- | --- | | Card number | Số thẻ liên kết. | Lookup qua bảng liên kết. | | Card status | Trạng thái thẻ. | Lookup mô tả. | | Card Indicator | Chỉ thị thẻ. | Lookup mô tả. | | Card Creation / Expiry Date | Ngày tạo và ngày hết hạn. | Date. | | Card block code | Mã chặn thẻ. | Lookup. | ## Cách hoạt động (How It Works) - **Nguồn dữ liệu**: Tài khoản có thể được thêm từ giao diện quản trị hoặc đồng bộ qua batch OLSACCT từ hệ thống bên ngoài. Các tài khoản được tạo/cập nhật qua batch không được phép sửa từ màn hình quản trị (có thể cấu hình tắt rule này qua App Param). - **Thêm mới (Add)**: - Hệ thống kiểm tra sự tồn tại của bộ đôi `Account No` + `Account Type`. Nếu đã có tài khoản đang active (Status = "A"), yêu cầu bị từ chối. - Nếu hợp lệ, hệ thống tạo bản ghi trong bảng `PRODUCT_ACCOUNT` và bảng liên kết `LOYALTY_ACCOUNT_PRODUCT`. - **Cập nhật (Update)**: - Yêu cầu cập nhật bị từ chối nếu không tìm thấy bộ `Account No` + `Account Type` hiện hữu. - Nếu hợp lệ, hệ thống lưu lại lịch sử thay đổi vào bảng lịch sử và cập nhật dữ liệu mới. - Việc đổi chủ tài khoản (CIF) không được phép thực hiện thủ công, phải thông qua batch CIF Merge. - **Xóa (Delete)**: - Nếu tài khoản có thẻ (Card) đang ở trạng thái Active (Status = "A") liên kết với nó, hành động xóa sẽ bị từ chối. - Xóa hợp lệ sẽ chuyển trạng thái bản ghi và bản ghi liên kết `LOYALTY_ACCOUNT_PRODUCT` sang bảng lịch sử, không xóa vật lý ngay lập tức. ## Mối quan hệ với modules khác - **Customer Overview**: Mỗi Account thuộc về một Customer duy nhất được định danh qua số CIF. - **Card**: Một Account có thể liên kết với một hoặc nhiều Card (Thẻ). Trạng thái của Card có thể ngăn chặn việc xóa Account. ## Ví dụ thực tế Khách hàng Nguyễn Văn A (CIF: 123456) mở một tài khoản tín dụng. Hệ thống bên ngoài đồng bộ bản ghi này qua batch OLSACCT. Tài khoản được ghi nhận với PAL là "Credit" và PAT là "Platinum", kết hợp với số tài khoản "987654321" tạo thành định danh duy nhất (ASN). Vài ngày sau, ngân hàng phát hành một thẻ cứng liên kết với tài khoản này. Cả thẻ và tài khoản đều được lưu vết trong hệ thống và có thể dùng để thực hiện giao dịch.