Points Flow in Transactions and Order screen
There are two flows in which we display the user's points and transactions. In these screens, we present various pieces of information, such as the number of points the user had before making a new order, how many points remain after the transaction, as well as details on how many points were used or earned. We also provide the amount of points resulting from the transaction.
Our current question is how to standardize the presentation of transaction information when an order is in the canceled or confirmed status. This is necessary because the flows exhibit different behaviors.
For better understanding I will present the two flows, I removed some information from the screen just to show the main information.
The scenario is that I have 2 orders, the most recent order is canceled (VOID) and the previous order is successful (CLAIMED)
FLOW - Loyalty Transaction Screen:
In this case, the final points are the same for both orders because the canceled order does not contribute any points to the loyalty program. As a result, the screen calculates the initial points and the transaction normally, but the final value of the previous order is 16084. Therefore, the values presented in the most recent order are incorrect.
Flow - Orders Screen:
It is the same orders.
The most recent order has an error status because it was canceled, while the previous one is marked as delivered. However, even with the error status, this screen normally counts the points. In this case, the total would amount to 17048 points, but the user did not earn these points because the order was canceled. In the next successful order, the initial value will be 18084, which is the correct total of points the user has.
This allows us to observe different behaviors. This happens because the Loyalty Transactions screen retrieves information for each order from its own database, while the Orders screen accesses data from a different database, and the information is stored in different ways.
Solution
To solve this problem, we have some possibilities.
Align both screens with the loyalty transactions flow?
Align both screens with the Orders flow?
Not display points for Canceled or Confirmed orders?
Find a new way to present this information.
We will make the follow solution
After our conversation with Paula Winter, we received a new solution. slack
In the case of a VOID status, we will display the earn, burn, and transaction points as 0, while the initial and final points will reflect the user's current points, as follows:
In the case of a CONFIRMED status, we will display the values and transactions similarly to the CLAIMED points. Once the order is delivered, I will ensure that they are confirmed.