Pointing Service

The Pointing Service is a vital component of our platform, responsible for managing user wallets, transactions, and points redemption activities. This document provides an overview of the architecture and functionality of the Pointing Service, including its capabilities for creating wallets, processing transactions, and supporting various types of point accumulation and redemption.

Architecture

The Pointing Service follows a scalable and modular architecture, comprising the following key components:

  1. Wallet Management: The service provides functionality for creating and managing user wallets. Each wallet represents a user's account where points are accumulated and redeemed.

  2. Transaction Processing: The Pointing Service facilitates the processing of various types of transactions, including:

    • Accumulation Points: Transactions that add points to a user's wallet, such as earning points through purchases or promotions.

    • Points Redemption: Transactions that deduct points from a user's wallet in exchange for rewards or benefits.

    • Cancel Accumulation: Transactions that reverse the accumulation of points due to cancellations or refunds.

    • Refund Redemption Points: Transactions that refund redeemed points back to a user's wallet.

    • Other Accumulation Types: Transactions that involve bonus points, add retentions, adjustments, or other types of point accruals.

  3. Merchant and Branch Integration: The Pointing Service supports transactions performed at specific merchants and branches. Each transaction is associated with a merchant and branch identifier, providing context for point accumulation and redemption activities.

  4. Points Redemption by SKUs: Users can redeem points for predefined SKUs or products. The Pointing Service manages the redemption process, deducting the appropriate number of points from the user's wallet and updating inventory or fulfillment systems accordingly.

Functionality

The Pointing Service offers the following core functionality:

  1. Wallet Creation and Management:

    • Users can create wallets associated with their accounts to accumulate and redeem points.

    • The service provides APIs for wallet creation, retrieval, and management, allowing users to view their points balance and transaction history.

  2. Transaction Processing:

    • Transactions are processed in real-time, updating user wallets based on the type and nature of the transaction.

    • Point accumulation transactions increase the points balance in the user's wallet, while points redemption transactions deduct points from the wallet.

  3. Merchant and Branch Integration:

    • Each transaction is associated with a specific merchant and branch, enabling targeted promotions, rewards, and personalized experiences based on user activity at different locations.

  4. Points Redemption by SKUs:

    • Users can redeem points for predefined SKUs or products available in the platform's catalog.

    • The Pointing Service manages the redemption process, ensuring accurate deduction of points and seamless fulfillment of rewards.

Usage Example

To illustrate the usage of the Pointing Service, consider the following example:

  1. User Transaction:

    • A user makes a purchase at a merchant's branch, earning accumulation points based on the transaction value.

  2. Accumulation Transaction:

    • The Pointing Service processes the transaction, adding accumulation points to the user's wallet and associating the transaction with the respective merchant and branch identifiers.

  3. Points Redemption:

    • The user decides to redeem accumulated points for a specific product SKU available in the platform's catalog.

  4. Redemption Transaction:

    • The Pointing Service deducts the required points from the user's wallet and processes the redemption transaction, updating inventory or fulfillment systems to fulfill the user's request.

Last updated