> ## Documentation Index
> Fetch the complete documentation index at: https://help-loyalife.xoxoday.com/llms.txt
> Use this file to discover all available pages before exploring further.

# v7.17 — June 2025

> Loyalife v7.17 adds multi-provider email/SMS, LDAP nested OU support, on-behalf redemption, maker-checker for communications and suspension, recurring date rules, and abbreviated number display.

# v7.17 — June 2025

**Released:** June 2025

## Communications

### Multi-Provider Email & SMS Configuration

Programs can now override the default email and SMS provider at the program level:

* Configuration is managed by DevOps — it is not exposed in the standard UI
* Program-level settings override the deployment default
* If a program-level setting is misconfigured, email and SMS for that program will fail — the system **does not fall back** to the default configuration

### Maker-Checker for Communication Templates

Promotional, transactional, and custom event templates now require approval before activation:

* The existing campaign maker-checker permissions are extended to the Communication module
* Pending notification emails include both campaign and communication approval requests

***

## Authentication

### LDAP Nested Organisational Unit Support

* Users from different Organisational Units (OUs) can now log in, create programs, and perform all activities
* Nested OU structures are supported — LDAP users in nested OUs gain full access
* The same user cannot exist in multiple OUs simultaneously
* Password reset and change password features remain disabled when LDAP is enabled
* LDAP users can access the marketplace as members

***

## Members

### Maker-Checker for Member Suspension

A new approval workflow governs suspend and reactivate actions:

* Two new permissions: **Verify Suspension Action** and **Approve Suspension Action**
* Configured under Program Settings → Modules → Suspension Actions
* Scope: suspend and reactivate only — does not apply to blocked members
* **Blocked member exception:** Reactivation of blocked members is immediate (no maker-checker required)
* Audit trail records checker/approver actions with timestamp and user identifiers
* Pending notification emails include suspension action requests

### Member Suspension Workflow (RBAC Lock/Unlock)

* Lock/Unlock and Archive/Unarchive actions for business users are also governed by the Suspension Actions module
* Audit trail captures approve/reject actions; pending notification emails include these requests

***

## Points & Expiry

### Updated Bulk Expiry API

* The `ProcessExpiredPoints` API has been deprecated and replaced by `ProcessBulkExpiredPoints`
* Quarterly expiry can now be triggered in **any month** within the expiry window — previously it required triggering at the start of the quarter

### OTP Length Configuration

* OTP length is now configurable via the `OTPLength` config variable (valid range: 4–8 characters)
* Defaults to **4 characters** if the configured value is outside the valid range
* Affects `GenerateOTP` and `GenerateOTPByRelationReference` APIs (Login and Activation OTP types)
* OTPs are encrypted in the database and decrypted before sending

***

## Reporting

### Automated Monthly Transaction Report

* Monthly and quarterly transaction reports are auto-generated for programs on a scheduled cron
* Handles up to **1 million members** in approximately 10 minutes
* Configurable API parameters: Program ID and recipient email address

### Transaction History Date Filters

* Date range filters added to member transaction history with pagination and a rows-per-page selector
* Initial display shows the last 5 transactions; users can search by processing date
* **Pending transactions** (transaction\_type = 5) are now visible in the member transaction summary on the admin portal
* SFTP log improvements: row count tooltip on hover for successful logs; download option available for all statuses (Successful, Failure, Incomplete)

***

## Redemption

### On-Behalf Redemption

Authorised admin users can now redeem on behalf of members:

* Requires *"edit platform configuration"* permission to configure the storefront URL
* Three member permissions required: **View Member Details**, **View Member**, and **On Behalf of Redemption**
* Member must have Active status
* Audit log is created when the admin accesses the member's account on behalf
* A confirmation email is sent to the member upon redemption
* Transaction narration: *"Redemption GiftCard"*
* Reports include a new *"On Behalf User"* column showing the username of the admin who performed the redemption
* *"On behalf redemption"* filter shows only on-behalf activity; *"Debit by redemption"* includes both standard and on-behalf transactions

***

## Segments

* Segment names must now be **unique** (case-insensitive); attempting to create a duplicate name returns an error
* The **Tag** field has been removed from segment creation and all selection interfaces
* Existing segments continue to function without changes

***

## Rule Engine

### Recurring Date Attributes

Three new attribute types for time-based rules:

* **Day of Week**
* **Month of Year**
* **Day of Month**

These can be used in rule conditions and are compatible with existing date logic and reward calculations. They apply to rules only — not to rule groups.

***

## Programme Settings

### Abbreviated Number Formatting

* A new **"Enable Abbreviated Numbers"** toggle is available under Program Settings → Points Definition → Point Terminology & Rates
* When enabled: points are displayed as K (thousands), M (millions), B (billions) on the storefront
* When disabled: points display in standard numeric format

***

## Naming Flexibility

* Programs, products, and rules can now share names — internal IDs remain unique
* Duplicate segment names are still rejected; all other entity names now allow duplicates

***

## PII in Reports

* A new **Advance Config setting** (admin-only, program-level) allows email and phone number to be included in member reports
* This setting is a **one-time enablement** and cannot be reversed
* Only users with report creation permission can export reports that include PII data
