---
schema_version: "1"
id: fb8a5239491e223201426053986dfdbc1cc65ea47e11579122983e4be7eba467
title: Expire Activity Based Non-Qualifying Points
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/xcloud/264-0-0/expire_activity_based__non_qualifying_points.md
canonical_url: https://help.salesforce.com/s/articleView?id=xcloud.expire_activity_based__non_qualifying_points.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 0e8ac88d0d152b8405a72d6a466700a2d476ba7996be3cc634dbc276939b4479
description: An Expire Activity Based Non-Qualifying Points calculates and expires non-qualifying points based on the member’s last activity date.
products:
  - Loyalty Management
release: "264"
---
# Expire Activity Based Non-Qualifying Points

An Expire Activity Based Non-Qualifying Points calculates and expires non-qualifying points based on the member’s last activity date.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: Lightning Experience in&nbsp;<strong>Enterprise</strong>,&nbsp;<strong>Performance</strong>, <strong>Developer</strong>, and&nbsp;<strong>Unlimited</strong>&nbsp;Editions that have Loyalty Management enabled</td></tr></tbody></table>

This model calculates and expires non-qualifying points for members based on the member’s last activity date. The Last Activity Date field in the Loyalty Program member is used to calculate the duration of inactivity. It must be stamped during the accrual or redemption processes based on what is considered an activity.

The Expire Activity Based Non-Qualifying Points Data Processing Engine template includes these key nodes.

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
      <colgroup>
        <col style="width:33.33333333333333%">
        <col style="width:33.33333333333333%">
        <col style="width:33.33333333333333%">
      </colgroup>
      <thead class="slds-text-title_caps ">
        <tr class="">
          <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d44093e72">Node Value</th>
          <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d44093e75">Description</th>
          <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d44093e78">Node Type</th>
        </tr>
      </thead>
      <tbody>
        <tr class="">
          <td data-label="Node Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e72 ">
            <p>Loyalty Member Currency</p>
            <p>Loyalty Program Currency</p>
            <p>Loyalty Program Member</p>
            <p>Loyalty Program </p>
            <p style="margin-bottom:0;">Journal Type</p>
          </td>

          <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e75 ">Data sources used in the job for calculating non-qualifying points to expire.</td>

          <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e78 ">Data Source</td>

        </tr>
        <tr class="">
          <td data-label="Node Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e72 ">Add Loyalty Program Currency Type to Loyalty Member Currency</td>

          <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e75 ">Adds the currency type and expiration model to the loyalty member currency
            records.</td>

          <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e78 ">Join</td>

        </tr>
        <tr class="">
          <td data-label="Node Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e72 ">Add Loyalty Program Name to Loyalty Member Currency</td>

          <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e75 ">Adds the loyalty program name to loyalty member currency records.</td>

          <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e78 ">Join</td>

        </tr>
        <tr class="">
          <td data-label="Node Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e72 ">Filter Activity Non-Qualifying Points Accrued</td>

          <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e75 ">Filters member currency records with the activity expiration model and the
            non-qualifying point currency type.</td>

          <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e78 ">Filter</td>

        </tr>
        <tr class="">
          <td data-label="Node Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e72 ">Add Last Activity Date to Loyalty Member Currency</td>

          <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e75 ">Adds Last Activity Date from Loyalty Program Member to each of the corresponding
            Loyalty Member Currency records.</td>

          <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e78 ">Join</td>

        </tr>
        <tr class="">
          <td data-label="Node Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e72 ">Points Expiry Date</td>

          <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e75 ">Calculates the date when points expire for members. This date is calculated for
            non-qualifying currencies with activity-based expiration models.</td>

          <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e78 ">Formula</td>

        </tr>
        <tr class="">
          <td data-label="Node Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e72 ">Update Process Run Date</td>

          <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e75 ">Validates if the updated process run date is a future date and corrects it by
            setting any future date to the current date.</td>

          <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e78 ">Formula</td>

        </tr>
        <tr class="">
          <td data-label="Node Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e72 ">Compare Points Expiry Date With Updated Process Run Date</td>

          <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e75 ">Validates if the points expiry date is earlier than the updated process run
            date.</td>

          <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e78 ">Formula</td>

        </tr>
        <tr class="">
          <td data-label="Node Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e72 ">Filter Points To Expire</td>

          <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e75 ">Filters members to be considered for non-qualifying points expiration.</td>

          <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e78 ">Filter</td>

        </tr>
        <tr class="">
          <td data-label="Node Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e72 ">Total Points Expired Until Current Date</td>

          <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e75 ">Calculates the total expired points up to the current date.</td>

          <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e78 ">Formula</td>

        </tr>
        <tr class="">
          <td data-label="Node Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e72 ">Update Loyalty Member Currency</td>

          <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e75 ">Updates the expired loyalty points in the loyalty member currency records.</td>

          <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e78 ">Writeback Object</td>

        </tr>
        <tr class="">
          <td data-label="Node Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e72 ">Create Transaction Journal</td>

          <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e75 ">Creates transaction journals for expiring non-qualifying points.</td>

          <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e78 ">Writeback Object</td>

        </tr>
        <tr class="">
          <td data-label="Node Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e72 ">Create Loyalty Ledger</td>

          <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e75 ">Creates Loyalty Ledger records for debiting points.</td>

          <td data-label="Node Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e78 ">Writeback Object</td>

        </tr>
      </tbody>
    </table>

**Input Variables**

You can define the input parameters for the calculation job so that the input values are passed at the time of job execution.

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
      <colgroup>
        <col style="width:100%">
      </colgroup>
      <thead class="slds-text-title_caps ">
        <tr class="">
          <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d44093e281">Input Variables</th>
        </tr>
      </thead>
      <tbody>
        <tr class="">
          <td data-label="Input Variables" class="slds-cell-wrap" style="vertical-align:top;" headers="d44093e281 ">
            <p>Loyalty Program Name</p>
            <p style="margin-bottom:0;">Process Run Date</p>
          </td>

        </tr>
      </tbody>
    </table>

The Process Run Date is used to determine the unused points that are to be expired.

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-xcloud-loyalty_management-264-0-0-production-enus/0590ce3e-5a09-45ab-8e5e-68f359c35886/images/icon_note.png)

Note Ensure that you use the most recent template from the Summer '24 release.