Skip to content

Requirements

Kathy-Waterworth edited this page Nov 3, 2022 · 9 revisions

We've reviewed the list of requirements and confirmed that the model fits. Notes below

Membership

  • Track memberships or distinct types of memberships
    • "Membership" object can encompass membership as well as sponsorship (Corporate Memberships). And provides a high-level overview of allocated benefits and usage of those benefits
    • Record Types could be used for define sponsorships, benefits, and other specific distinctions *Could have different types of membership (ex. Individual and Business) with different $ requirements for each level ($500 may qualify for Individual Gold Membership or only a Silver Membership for a Business)
  • Ability to declaratively set start/end dates (one year vs calendar year vs specific dates throughout the year i.e., quarterly - do they get more or fewer days?)
    • Monthly or quarterly renewals as well as annual
  • Ability to easily extend/renew membership
    • Through automated email reminder to member?
  • Automate renewal period (Set logic for whether an overlapping membership extends/renews or is counted as an extra gift/non-membership)
    • Payments received X days before end date and X days after end date=Renewal
    • Grace period - new membership or extend it?
  • Track retention, renewal and reacquire
    • Custom fields for dates and statuses on custom object
    • automate labeling of membership opps as new, renewal, reacquire (Could be a future project)
  • Automated renewal reminders (X days before) - sends email
    • Different setting (On/Off & X Days) based on Type?
    • Send email notification when the membership has expired (to member, staff, or both). Potentially inform of grace period when they can still renew/reactivate
  • Individual memberships
    • Tracked w/ Membership object + Membership Contact Role junction object
  • Dual & Household memberships
    • Supported using one Membership object and a Membership Contact Role object for each "member" or recipient
  • Organizational memberships
    • Multiple Contacts attached to a membership, not necessarily tied to the same Account from opportunity or membership
    • Supported via Membership Contact Role
    • Membership can be assigned to specific or additional contacts - relevant for Organizational membership that grants membership to a specific number of members
    • Supported because Memberships don't flow down to Contacts via Account; Affiliations could be leveraged to automate if desired
  • Memberships without payment, eg, gift memberships & subscriptions
    • Benefit does not need to be linked to an Opportunity
    • Free memberships
  • Gifted Memberships
    • Someone pays for some someone else's membership (Sponsorship or Pay It Forward Model)
    • Anonymous gift memberships (email notification suppression?)
  • Allow a member to upgrade their membership or obtain a renewal in advance of expiring
    • prorated amounts
    • handling partial membership time period
  • Easily allow internal Salesforce users to create membership orders from an opportunity or create memberships directly
  • Option for membership approval
    • Foster care scenario - may need to ensure someone can't auto-access
    • Alumni scenario - Is a person actually an alum?
    • Banned scenario - Was someone prohibited from becoming a member?
  • Membership levels & products
    • Retains current flexibility to use either a membership picklist on Membership (rather than Opportunity) or use various record types or Products to track this
  • Keep track of multiple memberships assigned to a single contact
    • could be multiple active memberships
  • Personal Membership/non-tax deductible amount
    • Flexibility to use either Opportunity or Opportunity Product for this
  • Acknowledgements & receipting
    • Payment acknowledgement/receipting continues to be handled on the opportunity
  • Membership card or other notifications
    • Optional business process
    • Emails could be created or automated based on the Membership object attributes
    • Bar code and/or QR code?!
    • VF to print off cards
    • Is it valid or expired?
  • Automate renewal creation and reminders
    • Optional based on business processes (could automate this in many ways internally); not part of the initial package
    • automate renewal reminder emails
  • Marking memberships as lapsed
    • End date field on Membership object
  • Grace period
    • Defined by business process/future requirement
    • Could be ___ Days
    • See periodic/recurring payments requirement below
  • Multi-year/quarterly/monthly memberships
    • Defined by business process/future requirement
  • Membership # associated with Contact(s)
    • Optional business process, could live on Membership Contact Role, Contact, Account, or custom object
  • Suspending / cancelling memberships
    • Could suspend either at Membership level (using picklist or setting the end date) or at Membership Contact Role
    • could automate using Affiliation status for business (if organization member has organization membership and then leaves organization)
  • Periodic/recurring payments for memberships
    • Payments are separate from memberships *Can be handled on Opportunity with Payments, or even Recurring Donations (utilizing NPSP) Suspension of membership if recurring payment missed (Optional; could be automated/future)
  • Won't Limit one membership per household (after subsequent discussions multiple memberships will be allowed per household)
    • Accidentally purchase multiple memberships
    • What happens when a second transaction comes up?
  • Standard reporting
    • All members, active members, expired members
    • Overlapping memberships
    • Memberships without contact roles (already an Issue)
  • Communities compatibility/automation
    • Supports all licenses
    • Membership records are decoupled from Sales Cloud object
    • Deactivate community user if their membership expires/terminates/lapses
  • Webform/Application form for someone becoming a member
    • Decide which fields should be on the membership application
    • Generates web form which can be embedded on website (Like Volunteer Management Module)
  • Customization guide/great documentation/suggestions/recipes for common customizations or various data models

Benefits

  • Overlapping membership levels, especially re: discounted levels like Senior or Student
    • This is a business process decision to be made by the organization; could assign additional Benefit Items based on org business process. Example: senior + student discount; can be assigned additional Benefits Item; Benefits object could have a senior/student level picklist or simply choose one over the other, could use discounting in Opportunity Products.
  • Tying benefits to specific events, eg, seats, ads
    • Have flexibility to connect
    • Could create a lookup relationship from benefit to campaign
    • Membership comes with 10 course discounts per year. Wanted to keep track the total discounts used.
  • Differentiate between membership benefit entitlements and actual receipt of benefits
    • Optional "benefits use" object could be built or simply use picklist on benefit item
  • Track if member declines benefits - relates to tax-deductibility as well
    • Could be supported according to business processes
  • Benefits over longer period of time, including over multiple events
    • Supported
  • Benefit/purchase rollovers - yes, could be moved to another Benefits object
    • status in benefit Assignment - yes, could be picklist or additional object
  • Different benefits -> new vs. renewing
    • business process decision
  • Option for Donations from Donor Advised Funds (DAFs) to be contributed to donor but not calculated towards membership
    • DAFs are ineligible for benefits

Requirements to refine

BDI considerations

Image of Philly member poster notes Image of MemberPosterPhoto.jpg

Ongoing concerns

  • Complexity of the model
    • LDV performance issues
    • End-user friendliness
    • Distance between Contact and Benefits
  • Rollups
  • *how does a member renew?