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.