Membership Management Entities

1. Overview

Membership entities support organization-based membership management, including membership types, periods, eligibility criteria, and supporting documentation.

Package: za.co.idealogic.event.domain
Repository: event-database
Total Entities: 5

2. Core Membership Entities

2.1. Membership

Represents an individual’s membership in an organization (e.g., club membership, federation membership, association membership).

Key Relationships:

  • Many-to-one with Organisation

  • Many-to-one with User (WordPress legacy)

  • Many-to-one with MembershipType

  • One-to-many with MembershipPeriod

  • One-to-many with MembershipAttachment

Attributes:

  • Membership number

  • Start date

  • Status (active, expired, suspended, cancelled)

  • Renewal settings

  • Custom field values

Use Cases:

  • Club memberships for athletes

  • Federation memberships for officials

  • Association memberships for organizations

  • Annual membership renewals

2.2. MembershipType

Defines different types of memberships offered by an organization.

Key Relationships:

  • Many-to-one with Organisation

  • One-to-many with Membership

  • One-to-many with MembershipCriteria

Attributes:

  • Type name (e.g., "Junior Athlete", "Senior Athlete", "Coach", "Official")

  • Description

  • Default duration

  • Pricing information

  • Benefits description

  • Active/inactive status

Use Cases:

  • Age-based membership categories

  • Role-based memberships (athlete, coach, official)

  • Tiered membership levels (bronze, silver, gold)

  • Family vs individual memberships

2.3. MembershipPeriod

Tracks individual membership periods, enabling historical tracking and renewals.

Key Relationships:

  • Many-to-one with Membership

  • References Order (payment for period)

Attributes:

  • Start date

  • End date

  • Status (pending, active, expired, cancelled)

  • Payment status

  • Issue date

Use Cases:

  • Annual membership periods

  • Multi-year memberships

  • Mid-season renewals

  • Historical membership tracking

  • Membership expiry management

2.4. MembershipCriteria

Defines eligibility criteria for membership types (e.g., age ranges, qualifications, prerequisites).

Key Relationships:

  • Many-to-one with MembershipType

Attributes:

  • Criteria type (age, gender, qualification, location)

  • Criteria value/range

  • Required vs optional

  • Validation rules

Use Cases:

  • Age restrictions (e.g., "Junior: 6-17 years")

  • Gender requirements

  • Geographic restrictions

  • Prerequisite memberships

  • Qualification requirements (e.g., coaching licenses)

  • Medical clearance requirements

Examples:

MembershipType: "Junior Athlete"
  Criteria 1: Age 6-17 years
  Criteria 2: Parental consent required
  Criteria 3: Medical clearance

MembershipType: "Senior Coach"
  Criteria 1: Age 18+
  Criteria 2: Coaching qualification
  Criteria 3: Background check

2.5. MembershipAttachment

File attachments related to memberships (extends the base Attachment entity).

Inheritance: Extends Attachment

Key Relationships:

  • Many-to-one with Membership

Attributes:

  • All Attachment attributes (file path, MIME type, size)

  • Attachment type (license, certificate, ID, medical)

  • Expiry date (for time-limited documents)

  • Verification status

Use Cases:

  • Membership certificates

  • License documents (coaching, officiating)

  • ID verification documents

  • Medical certificates

  • Insurance documentation

  • Qualification certificates

  • Background check reports

3. Entity Relationships Diagram

Organisation
    |
    | 1:N
    |
MembershipType -------- 1:N --------> MembershipCriteria
    |
    | 1:N
    |
Membership
    |
    +------ 1:N --------> MembershipPeriod ----> Order
    |
    +------ 1:N --------> MembershipAttachment

4. Common Workflows

4.1. Create Membership Type Workflow

  1. Organization administrator defines MembershipType

  2. Add MembershipCriteria for eligibility rules

  3. Configure pricing and duration

  4. Activate membership type

4.2. Member Registration Workflow

  1. User selects MembershipType

  2. System validates against MembershipCriteria

  3. User completes application form

  4. User uploads required MembershipAttachments

  5. User submits payment (creates Order)

  6. System creates Membership

  7. System creates initial MembershipPeriod (linked to Order)

  8. System generates membership number

  9. System issues membership certificate

4.3. Membership Renewal Workflow

  1. System identifies expiring memberships

  2. System sends renewal notifications

  3. Member initiates renewal

  4. Member updates information if needed

  5. Member uploads new/updated MembershipAttachments (if required)

  6. Member submits payment (creates Order)

  7. System creates new MembershipPeriod

  8. System extends Membership status

4.4. Membership Verification Workflow

  1. Event registration checks Membership status

  2. System validates MembershipPeriod is active

  3. System verifies required MembershipAttachments

  4. System confirms MembershipCriteria compliance

  5. Grant/deny access based on verification

5. Multi-Tenancy Considerations

Each Organisation can: * Define its own MembershipTypes * Set organization-specific MembershipCriteria * Manage its own member base * Issue organization-scoped membership numbers * Configure custom membership fields

A single User can hold: * Multiple Memberships across different Organisations * Multiple concurrent MembershipTypes within the same Organisation * Historical MembershipPeriods for tracking

6. Integration Points

6.1. Event Registration Integration

  • Event registration can require active membership

  • Membership level can determine event pricing

  • Membership benefits can include free event entries

  • Membership discounts applied at checkout

6.2. Financial Integration

  • MembershipPeriod links to Order for payment tracking

  • Membership fees recorded in general ledger

  • Renewal billing automation

  • Refund processing for cancelled memberships

6.3. User Management Integration

  • Membership status affects user permissions

  • Member directory functionality

  • Member communication preferences

  • Member portal access

7. Entity Summary

Entity Primary Purpose Key Attributes

Membership

Individual membership record

Number, status, dates

MembershipType

Membership category definition

Name, duration, pricing

MembershipPeriod

Time-based membership validity

Start/end dates, status

MembershipCriteria

Eligibility requirements

Criteria type, value, rules

MembershipAttachment

Supporting documentation

File, type, expiry

8. Configuration Examples

8.1. Example 1: Athletic Club Membership Types

Organisation: "City Athletics Club"

MembershipType: "Junior Athlete (6-12)"
  Duration: 1 year
  Criteria:
    - Age: 6-12 years
    - Parental consent required
  Required Attachments:
    - Birth certificate
    - Parental consent form
    - Medical certificate

MembershipType: "Junior Athlete (13-17)"
  Duration: 1 year
  Criteria:
    - Age: 13-17 years
    - Parental consent required
  Required Attachments:
    - ID document
    - Parental consent form
    - Medical certificate

MembershipType: "Senior Athlete"
  Duration: 1 year
  Criteria:
    - Age: 18+ years
  Required Attachments:
    - ID document
    - Medical certificate

MembershipType: "Club Coach"
  Duration: 1 year
  Criteria:
    - Age: 21+ years
    - Coaching qualification required
    - Background check
  Required Attachments:
    - ID document
    - Coaching license
    - Background check certificate
    - Insurance certificate

8.2. Example 2: Federation Membership

Organisation: "Provincial Athletics Federation"

MembershipType: "Affiliated Club"
  Duration: 1 year
  Criteria:
    - Registered organization
    - Minimum 20 members
  Required Attachments:
    - Organization registration
    - Club constitution
    - Member list

MembershipType: "Licensed Official"
  Duration: 1 year
  Criteria:
    - Age: 18+ years
    - Official's course completed
    - Active for 2+ years
  Required Attachments:
    - Official's license
    - Training certificates
    - Background check