Document Status | REVIEWED |
---|---|
Document Owner(s) | |
Reviewers |
🛠️ Potential Solutions
Note: this section should be short and sweet, documenting notes about different solutions that were considered during ideation. Can just be a link to a whiteboard for example. Expected outcome: one solution is chosen and documented in more detail under Proposed Solution.
Enhance the process by incorporating additional details regarding transactions and include pre-calculated mathematical formulas.
✅ Proposed Solution
Description of the proposed solution.
A proposed solution is to add new fields and mathematical calculations in the system to give this information to the customer support agent.
Example:
This form provides the agent with more detailed information; therefore, we need to modify certain parts of the code.
Acceptance Criteria
1 - Display of Information on Screens
Given that the user accesses the Loyalty Transactions, Orders, and Recent Orders screens,
When the transactions are loaded,
Then the system should display the following information in order:
Initial Points
Points Earned (regular points and bonus points)
Points burned (displayed as a negative value, e.g., “-60”)
Transaction balance (points earned minus points used)
User's Final Points in that order.
2 - Display of Orders and Status
Given that the support agent accesses the orders screen and understands the meaning of each status,
When the screen is loaded,
Then all orders should be displayed, including all relevant statuses:
Claimed: Success status where points are credited or debited.
Confirmed: Order completed but not finalized (e.g., delivery not completed), where the points do not impact the user's total.
Void: Canceled order where the points do not impact the user's total.
3 - Feature Flag
Given that there is new data to be displayed,
When the feature flag is activated,
Then the new data should be displayed in the user interface.
And when the feature flag is deactivated, the new data should be hidden.
PS: This flag is temporary
4 - Points Calculation
Given that the points received, used, bonus, and final points are derived from the loyalty system,
When the transactions are processed,
Then no changes should be made to the existing calculations.
And we will not be responsible for correcting and/or altering loyalty rules.
Development
Backend:
Frontend:
We can see the discussion about this in this thread: https://rbidigital.slack.com/archives/C067D4XK9D5/p1724350040702039
The features on the screens can be consolidated into a single component for (Loyalty Transaction and Orders screen). The Details Order screen will be other task.
Potential Challenges
List here potential challenges that have come across the opportunity definition or from the potential solutions so far.
💰 Cost
Describe any additional cost this solution may imply.
🎛️ Configuration
Include here any configuration required (Sanity, LaunchDarkly flags, etc.) required to enable the solution.
The information contained in this section is already available and ready. It is provided for reference and awareness in case any changes are needed.
LaunchDarkly
Create and enable a new feature flag: display-points-balance, this flag is temporary and we will create a technical debt to remove this flag.
Configuration of Product Loyalty Points Price
If we need to use the reward points, we can select some products from the club menu. If the registered products are not available for your restaurant, we can make some adjustments in the DOP (FZ-Portal) to make them accessible. Please see the video below:
After this, we need to refresh the whitelabel and use the rewards product.
Change points and number of uses
For existing products, we can change the number of points required to obtain them. For example, in DEV PLK ES, we can utilize the product [LOYALTY] Menú 8 alitas picantes mediano.
We can configure parameters such as the required points to use this product and the number of times it can be used per day.
Status Order
The order ha,s a status to inform if it needs to add, remove, or ignore the points.
More details here /wiki/spaces/PBP/pages/4856185403
Exithe sting the CONFIRMED status as well, and this status is added for the orders that are placed, but not finished, for example, a delivery order is placed, but it's in the delivering progress, not marked as delivered.
In this status the system doesn’t calculate the points.
More details here
-
INMS-763Getting issue details...
STATUS
We made some questions to loyalty-team in this thread https://rbidigital.slack.com/archives/C04FZ5HTH35/p1723558227000749
📈 Metrics
Describe the metrics that will be used to measure the solution’s success, as well as how to measure those KPIs.
🗓️ Delivery Plan
Link to the task or list of all the tasks required to deliver the solution, along with its progress.
🧑🚒 QA Plan
Testing scenarios. See example /wiki/spaces/EGMT/pages/4080861189.
Step | Expected Results |
---|---|
If the FF is enable | Show new fields on the screens:
|
Existing orders with the status CLAIMED | Show the order with earned values, used values, transactions, initial points, and final points. In this status, the calculation must change the user's final points. |
Existing orders with the status CONFIRMED | Show the order with earned values, used values, transactions, initial points, and final points. In this status, the calculation must not change the user's final points. After complete delivery this status change to CLAIMED or VOID
|
Existing orders with the status VOID | Show the order with earned values, used values, transactions, initial points, and final points. In this status, the calculation must not change the user's final points.
|
If the user has 2 or more order with CONFIRMED | Show the order with earned values, used values, transactions, initial points, and final points. In this status, the calculation must not change the user's final points. After complete delivery this status change to CLAIMED or VOID For each order, the initial and final points are the same because confirmed transactions do not accumulate points. |
If the user has 2 or more order with CONFIRMED and change to VOID | Show the order with earned values, used values, transactions, initial points, and final points. In this status, the calculation must not change the user's final points. The order change to VOID and don’t change the final poins |
If the user has 2 or more order with CONFIRMED and change to CLAIMED | Show the order with earned values, used values, transactions, initial points, and final points. In this status, the calculation must not change the user's final points. The order change to CLAIMED and change the final poins |
If the user has 2 or more order with CONFIRMED and change one to CLAIMED and other to VOID | Show the order with earned values, used values, transactions, initial points, and final points. In this status, the calculation should adjust the user's final points solely based on the value of the order that has been marked as claimed. The void should be completely disregarded, as its values are outdated. Attention: If the oldest order is successfully completed (CLAIMED) and the most recent one fails (VOID), the value of the CLAIMED order will impact the final points. However, the VOID order will not impact the points and will retain its initial and final values as outdated, since when an order is marked as VOID, it is not considered.
|
⚠️ Call-outs
Tip: Document here any improvement or discussion regarding the feature
Add Comment