Files
loyalty-agent-service/docs/knowledge-cards/customer/transaction_history.md

84 lines
5.7 KiB
Markdown

---
card_id: "customer/transaction_history"
title: "Lịch sử giao dịch (Transaction History)"
domain: "customer"
related_cards:
- "customer/account"
- "customer/card"
- "campaign/campaign_rule"
- "campaign/pool_definition"
- "campaign/counter_definition"
tags: ["transaction", "history", "reward", "redemption", "counter"]
---
# Lịch sử giao dịch (Transaction History)
## Mô tả ngắn
Transaction History là bản ghi lưu vết tất cả các giao dịch của khách hàng trên hệ thống OLS (bao gồm cả giao dịch hủy), thường hiển thị cho 12 tháng gần nhất (dựa trên tham số housekeep). Mỗi bản ghi chứa thông tin chi tiết về tài khoản, giá trị giao dịch, điểm thưởng/đổi/điều chỉnh, cập nhật bộ đếm và chi tiết đổi quà.
## Thuật ngữ liên quan
- **OLS Transaction Code**: Mã giao dịch trên hệ thống OLS để định danh loại nghiệp vụ.
- **Housekeep parameter**: Tham số hệ thống quyết định thời gian lưu trữ hiển thị (VD: 12 tháng).
- **MCC (Merchant Category Code)**: Mã danh mục của đơn vị chấp nhận thẻ.
- **POS Entry Mode**: Phương thức nhập dữ liệu giao dịch tại thiết bị thanh toán.
- **Pool Unit**: Đơn vị điểm thưởng tương ứng với một Pool cụ thể (Earn/Redeem/Adjust).
## Cấu trúc dữ liệu (Data Schema)
Bản ghi Transaction tổng hợp thông tin từ nhiều khía cạnh:
### 1. Chi tiết tài khoản (Account Detail)
- **Account Number / Type / Level**: Số tài khoản, loại và hạng tài khoản sản phẩm thực hiện giao dịch.
- **Card Number**: Số thẻ thực hiện giao dịch.
### 2. Chi tiết giao dịch (Transaction Detail)
- **Invoice No / Reference No**: Số hóa đơn nội bộ sinh bởi OLS và Số tham chiếu giao dịch.
- **Source Reference Number**: Số tham chiếu từ hệ thống nguồn bên ngoài.
- **OLS Transaction Code**: Mã giao dịch trên OLS.
- **Gross / Nett Amount**: Giá trị giao dịch gộp và ròng.
- **Award / Redeem / Adjust Points**: Tổng điểm thưởng, đổi, hoặc điều chỉnh (giá trị này bằng tổng của tất cả các Campaign Rules được áp dụng).
- **Date Information**: Ngày giao dịch, Ngày đăng (Post Date), Ngày ghi sổ (Settlement Date).
- **MCC / Store / Terminal**: Thông tin điểm chấp nhận giao dịch, mã cửa hàng, thiết bị đầu cuối.
- **Cancellation Indicator**: Chỉ thị xác định giao dịch đã hủy.
- **Transaction Mode / Channel**: Phương thức và kênh giao dịch.
### 3. Chi tiết phân bổ thưởng (Reward Details - Quick View)
- **Campaign Rule**: Mã quy tắc chiến dịch đã áp dụng.
- **Transaction Type / OLS Code**: Loại giao dịch và mã OLS tương ứng.
- **Pool & Pool Unit**: Pool nhận điểm và số lượng/giá trị Pool Unit được cộng/trừ.
### 4. Chi tiết cập nhật bộ đếm (Counter Details)
- **Campaign Rule**: Mã quy tắc kích hoạt.
- **Counter & Entity**: Bộ đếm được cập nhật và Cấp thực thể (Entity level).
- **Counter Value**: Giá trị bộ đếm thay đổi.
- **Bucket Info**: Số thứ tự bucket, Ngày bắt đầu và kết thúc của bucket được cập nhật.
### 5. Chi tiết đổi quà (Item Redemption Details)
- **Item**: Mã vật phẩm (Item) được đổi.
- **Redeemed Quantity / Points**: Số lượng và tổng điểm đã sử dụng.
- **Cash Amount Used**: Số tiền mặt (nếu có) dùng để đổi kèm.
## Cách hoạt động (How It Works)
- **Lưu trữ tổng hợp**: Một record Transaction Detail là sự kết hợp của tất cả các trường đầu vào được gán cho một OLS Reference No duy nhất. Nó ghi nhận cả giá trị tài chính (Gross/Nett) lẫn logic Loyalty (Points).
- **Tính nhất quán dữ liệu**: Tổng số điểm thưởng (Award), điểm đổi (Redeem) và điểm điều chỉnh (Adjust) hiển thị ở Transaction Detail PHẢI BẰNG tổng các giá trị chi tiết được sinh ra bởi từng Campaign Rule tương ứng trong mục Reward Details.
- **View-only**: Chức năng/bản ghi này chủ yếu dùng để tra cứu (View only) phục vụ Customer 360, bao gồm cả các giao dịch đã bị hủy.
- **Gắn kết quy tắc**: Một giao dịch có thể kích hoạt không, một hoặc nhiều Campaign Rule, dẫn đến việc sinh ra nhiều bản ghi phân bổ Pool hoặc cập nhật Counter đồng thời.
## Mối quan hệ với modules khác
- **Account** / **Card**: Transaction luôn được gắn với một tài khoản và/hoặc thẻ cụ thể.
- **Campaign Rule**: Giao dịch thỏa điều kiện sẽ kích hoạt Rule, ghi nhận vào chi tiết thưởng của giao dịch.
- **Pool Definition**: Điểm thưởng/đổi/điều chỉnh của giao dịch được hạch toán vào các Pool cụ thể.
- **Counter Definition**: Giao dịch có thể làm thay đổi giá trị của một hoặc nhiều bộ đếm (cập nhật vào bucket tương ứng).
- **Item Master**: Giao dịch đổi quà (Redemption) sẽ liên kết với Item được đổi.
## Ví dụ thực tế
Khách hàng quẹt thẻ tín dụng tại siêu thị (MCC 5411) số tiền 500.000 VNĐ. Hệ thống OLS sinh ra bản ghi Transaction:
- **Transaction Detail**: Gross Amount = 500.000, MCC = 5411, Award Points = 50, OLS Transaction Code = "RETAIL_PURCHASE".
- **Reward Detail**: Áp dụng "Campaign Rule: Mua sắm siêu thị cuối tuần", cộng 50 Pool Unit vào "Pool: Điểm tiêu dùng".
- **Counter Detail**: Cập nhật "Counter: Tổng chi tiêu tháng 10" thêm 500.000 vào giá trị hiện tại.