Membership Status Field Proposal
VIDEO TRANSCRIPT | Recorded: 2024-10-06 | Verify against current system state
Abstract¶
Detailed proposal for simplifying the membership data model in Salesforce migration. Explains how the new calculated membership status field (active, expired, within grace period, never member) replaces the need for membership category and non-member member types. Key benefit: member type persists after expiration (e.g., "NP Organization Member" + "Expired" status = former NPO member), enabling historical tracking. Eliminates need for hardcoded member type lists in queries - simply filter by status = active.
Key Procedures¶
- Membership status calculated automatically based on subscription dates
- Status options: Active, Expired, Within Grace Period, Never Member
- Member type remains unchanged when membership expires
- Remove membership category field (redundant with member type + status)
- Remove non-member member types (Former Member, Individual Non-Member)
- Query for members using status = active instead of member type lists
- Add new member types without updating query logic
Notable Statements¶
- 0:00:26 "By default, no one really has access to update this. It's just a read-only field that gets calculated on the back end."
- 0:02:51 "With this new setup, the member type is going to stay the same."
- 0:03:07 "Now Liz immediately has the former member type listed below as NP organization member."
- 0:03:25 "We have to take in consideration not just the member type, we have to consider the membership status every time."
- 0:03:51 "I have seen us hard code the member types into various queries. We could stop doing that now."
- 0:04:19 "Doesn't matter what the member type is, we could add member types all day long and it would not affect any of our other logic."
- 0:05:37 "Former member is expired, never a member is individual non-member."
Systems & Configurations¶
Systems Mentioned¶
- Salesforce (new membership status)
- Aptify (legacy membership category, member types)
Specific Configurations¶
| Item | Value/Setting | Timestamp | Notes |
|---|---|---|---|
| Status - Active | Current paid membership | 0:00:54 | Calculated |
| Status - Expired | Past membership ended | 0:00:59 | Replaces "former member" |
| Status - Within Grace Period | Past due date but in grace | 0:01:09 | Active but overdue |
| Status - Never Member | No membership history | 0:01:15 | Replaces "non-member" |
| Status Field | Read-only | 0:05:06 | No manual changes |
| Category - Individual Members | Active member types | 0:01:38 | Being removed |
| Category - Individual Non-Members | Non-member types | 0:01:41 | Being removed |
Credentials/Access Mentioned¶
- Super administrator can view/edit status (for demo)
- Regular users see status as read-only
Errors & Troubleshooting¶
- Issue: Hardcoded member type lists in queries
- Cause: Need to identify active vs non-member types
- Resolution: Query by status = active regardless of member type
- Timestamp: 0:03:51
Transcript Gaps & Quality Notes¶
- Comprehensive explanation with screen sharing
- Shows both person account and company account examples
- Addresses reporting implications for membership team (Liz)
- Recommendation to share with I2C for implementation
- Benefits: historical tracking, query simplification, easier member type additions