Skip to content

Use Cases

David Cheng edited this page Nov 3, 2022 · 3 revisions

Use Cases for MVP

This document was created during the November 2022 Sprint in San Francisco.

Acronyms

MCR = Membership Contact Role

New Membership for a Household or Individual

When a new Membership record is created for a household account, do the following steps:

  • Copy the membership Start Date, End Date and Status to the account fields. This should be done in the Membership after-save flow.

  • Create MCR records with Start Date, End Date, Status, and Type fields populated. If the Membership type is Household, then create an MCR for all contacts in the household. If the type is Individual, create an MCR for the household's primary contact only. This should be done in the Membership after-save flow.

In the account, populate the Primary Membership lookup field UNLESS the "Disable Primary Account" checkbox is ticked in the Membership Setting custom metadata.

On the primary contact, populate the Primary Membership lookup field UNLESS the "Disable Primary Contact" checkbox is ticked in the Membership Setting custom metadata.

New Membership for an Organization

When a new Membership record is created for an organization account, do the following steps:

  • Copy the membership Start Date, End Date and Status to the account fields. This should be done in the Membership after-save flow.

  • Create MCR records for all active contacts in the organization account. Populate the Start Date, End Date, Status, and Type fields.

On the account, populate the Primary Membership lookup field UNLESS the "Disable Primary Account" checkbox is ticked in the Membership Setting custom metadata.

Automation for Existing Memberships

When the following fields are modified in a membership record:

  • Start Date
  • End Date
  • Status

It should update the corresponding fields on the related account, UNLESS the "Disable Primary Account" checkbox is ticked in the Membership Setting custom metadata.

It should update the corresponding fields on the Membership Contact Role records.

Lapsed Membership for Household / Individual / Organization

The Lapse Period (in days) is defined in the Membership Setting custom metadata in a record named "Default".

A scheduled Batch Apex should run nightly to find the following categories of non-lifetime memberships:

  • Status = Current and End Date < today's date
  • Status = Lapsed and End Date < today's date + lapse period

The batch does the following:

  • Update the membership records' Status field to Lapsed or Former depending on the conditions

Note: The Membership automation above will handle the account and MCR updates.

Contact Automation for Household Accounts with Active Memberships

  • When a Contact is added to the household account, create an MCR. This is done in the Contact after-save flow.
  • When a Contact is removed from the household account, set the MCR Status = Former and the End Date = today's date. This done in the Contact after-save flow.

Contact Automation for Organization Accounts with Active Memberships

  • When a Contact is added to the organization account, create an MCR. This is done in the Contact after-save flow.
  • When a Contact is removed from the Organization account, set the MCR Status = Former and the End Date = today's date. This done in the Contact after-save flow.

Affiliation Automation for Contacts with Active Memberships

  • When an Affiliation status changes to "Former" and the contact has an active MCR with the Account, then set the MCR End Date = today's date and the Status = Former.
  • When an Affiliation is deleted, and the Status = Current and the contact has an active MCR with the Account, then set the MCR End Date = today's date and the Status = Former.

Gift Membership for a Different Account

When a payer buys a membership for another person, the Membership record is linked to the recipient account, not the payer's account.

On the membership, the Opportunity field should be populated with the paying opportunity. This represents the only link between the payer and the membership.