Release Mar 2024 - v7.5.0

Items released as part of LBMS V7.5.0

Stress Testing of Deployments

  • With the 7.5.0 release considerable changes were done to key features (Member processing and txn processing) so a load test was carried out to check the performance (More insights can be found in the attached performance benchmark document. Refer sheet "7.5.0 Benchmarking"). This activity is still going on and this is just the interim update on key features which were subjected to load test

Load Test configuration

Notes
HA- High availability
Nano services such as communication services, milestone kafka consumer are on Non HA mode

0% rejection implies all records are valid and processed by system

Below features are yet to be tested after which consolidated performance report will be published

  • All pre-created report generation (Accrual, Member, Communication and Liability)
  • Monthly/quarterly point expiry job
  • Tier progression and segment creation

Keep TXN Data in Queue even if CPD info is missing

  • Users can now upload a TXN file or hit the TXN API with relation reference which does not exist in our system.
  • Points will still be issued to those records ignoring the relation reference check in case the rule condition matches
  • Records will be inserted into Transaction_details_with_breakage table but will not be seen on UI
  • When the member is inserted in future that time it would get mapped and shown on the UI.
  • As of now there's no feature/report to find out members who have come to our system without a customer master. so this will be implemented when product team provides the requirement
  • Non existing member's transactions are seen in all the reports (except member report) and Dashboard
  • Non existing members are not seen in Segment, Tier and campaign

Member States as per Flow Diagram

  • The above story is applicable only for members coming via CPD upload. Following are different status that can be passed as status (B-Suspend, C-closed/cancelled, N-New, U-Update, A-Un-suspend)
  • New member coming into the system should have only Status as "N" and reference number has to be unique. Any other value passed in status will be rejected. Member status will be inactive and has to be activated via storefront.
  • When Member is "in-active"/"active" status, Possible status changes are either "suspend(B)" or "cancelled/closed(C)"
  • When a Member is in "suspended/blocked" status, Possible status changes are un-suspend (A) or cancelled/closed (C) or Update (U).
  • When a Member is in "closed" status then only "N" can be passed in the status and the member will become inactive.
  • Only Member information (name, DOB, gender etc) can be updated by passing the value "U" in the status column. And this action can be done irrespective of the status of the member

Welcome mailer event to be Added

  • Welcome email is sent to member only when he is onboarded into the system for the first time or when a closed member gets re-activated
  • This is applicable for members coming to the system va CPD upload and AddMember API

Report enhancements

Additional Columns in Transactional Reports- Part 2 of 2

  • As part of txn report enhancement new filters are added (Debit by cancellation, Debit by reversal and Credit by reversal)
  • Few obsolete filters such as "Debit by cashback" are removed.
  • For all reversals going forward "narration" would be "redemption reversals" in the txn report and this will be applicable for new txn only
  • Standardisation of narration is not implemented as this has to be done at the storefront/marketplace.

Pre-Create set of Legacy Reports

  • Legacy reports (Accrual, Redemption, Expiry, Reversal, Cancellation, Bonus, Member, Communication) are pre created by the system during program creation with report generation frequency set to monthly. Every 1st of the month the cron would run and generate the report for the previous month.
  • These reports would not be available for existing programs and have to be created manually using the new filters available.
  • Few more reports would be created in upcoming releases such as projection, monthly statement etc.

Updated Members Report View

  • Member report will be created by default by the system and creation of new view is prohibited
  • Default report created by system would be generated every 1st of month
  • User can still generate custom member report by selecting different time period

Introduce new Member Activation API

  • Member can be now activated by relation reference apart from existing methods (Email id and Mobile number)
  • API is incorporated with all mandatory validations for attribute such as Program ID, Relation reference etc
  • Member status should be inactive(5) and only then he can be activated.

Communication Service APIs & New Events

Following new events are added as part of communication service API

  • Redemption OTP
  • Shop order
  • Giift Card Redemption
  • Flight Booking Success
  • Flight Booking Failed
  • Hotel Booking Success
  • Hotel Booking Failed
  • Package Booking
  • Miles Exchange
  • Forgot Password Successfully

For any custom attribute if value is not passed in the API but still used in the template, communication will not fail and instead blank value would be sent to user

Validations are present if the API signature is not honored. (Passing non existent variable/member relation reference, passing expired/invalid token etc)

Irrespective of member status, communication is sent.

Communication service to handle message priority

  • Following priorities Critical, High, Medium, Normal and Low are introduced on which all the events are categorised
  • If any Critical and Low priority message/event enters the queue at same time, priority would be given to Critical and then to the low
  • If low priority messages are being processed and then a critical priority message enters the queue, execution of the critical message/event would start after the current batch execution.
  • This feature needs to be tested with a bigger data set and that would be done during the ongoing load testing activity.

Communication Rate Limiting

  • Users can set hourly limits for each event now in the DB. The same can be enabled and disabled at any point of time
  • Hourly limit set is applicable at event level per member and not at channel level
  • Daily limit is applicable at the member level.
  • Daily/Hourly limit is not applicable for User events
  • Queue handling feature will be validated during performance testing

Minor Improvements/Refinement

Special Character Validation on Description Text of Communication and Remove Limits on HTML Template

  • Following special characters - _ . {} () !/,| are allowed in the communication template for both Email and SMS
  • Plain text character limit in body is increased to 2000 and in HTML to 100000.

Configurable Auto Logout Session

  • LBMS session expiry configuration is externalized.
  • "token_expiry" property will hold the value for session expiry and dev-ops will configure based on the client requirement during the deployment.

Time Stamp conversion in the LBMS UI across the modules

Across the LBMS application all the dates/time will now be shown as stored in DB. No conversion would be done to show time in the user time zone.

[Rule Engine] Able to create rule by giving non existing value to product code before adding product code

Rule engine UI is enhanced so that users can only select values from the existing set of options/values for all selection data type attributes.

Truncate Testing Data via SQL Query