MemberPulse

UJ-C-002: Create New Member

Client staff creates a new member account in the system

Journey Overview

AttributeValue
Journey IDUJ-C-002
ActorClient Admin / Staff
GoalCreate a new member account
TriggerNew member needs to be added to system
OutcomeMember account created and accessible

Preconditions

  • Staff has ROLE_CLIENT_ADMIN permission
  • Member email is not already registered
  • Membership plan exists (if assigning)

Journey Flow

flowchart TD
    A[Navigate to Members] --> B[Click Add Member]
    B --> C[Enter personal details]
    C --> D[Enter contact details]
    D --> E[Assign membership plan]
    E --> F{Send invite?}
    F -->|Yes| G[Member receives invite email]
    F -->|No| H[Account created silently]
    G --> I[Member sets password]
    H --> J[Staff shares credentials]
    I --> K[Member can access portal]
    J --> K

Detailed Steps

  1. Access Member Management

    Navigate to Members section:

    • Client Portal → Members
    • Click "Add Member" or "+" button
  2. Enter Personal Information

    Required fields:

    FieldTypeRequiredValidation
    First NameTextYesMin 2 chars
    Last NameTextYesMin 2 chars
    EmailEmailYesUnique, valid format
    Date of BirthDateConfigurablePast date
    GenderSelectConfigurableOptions list

    Form:

    ┌─────────────────────────────────────────────────────────────┐
    │ Add New Member                                              │
    ├─────────────────────────────────────────────────────────────┤
    │                                                             │
    │ Personal Information                                        │
    │ ────────────────────                                        │
    │                                                             │
    │ First Name *          Last Name *                           │
    │ [________________]    [________________]                    │
    │                                                             │
    │ Email *                                                     │
    │ [________________________________]                          │
    │                                                             │
    │ Date of Birth         Gender                                │
    │ [__/__/____]         [Select ▼]                            │
    │                                                             │
    └─────────────────────────────────────────────────────────────┘
  3. Enter Contact Details

    Contact information:

    FieldTypeRequired
    PhonePhoneConfigurable
    MobilePhoneConfigurable
    AddressTextConfigurable
    CityTextConfigurable
    StateSelectConfigurable
    PostcodeTextConfigurable
    CountrySelectConfigurable
  4. Professional Details

    Work information:

    FieldTypeRequired
    CompanyTextNo
    PositionTextNo
    LinkedIn URLURLNo
    WebsiteURLNo
  5. Assign Membership

    Membership configuration:

    ┌─────────────────────────────────────────────────────────────┐
    │ Membership                                                  │
    ├─────────────────────────────────────────────────────────────┤
    │                                                             │
    │ Membership Plan                                             │
    │ [Select Plan ▼]                                             │
    │ • Professional (Annual - $485)                              │
    │ • Basic (Monthly - $19)                                     │
    │ • Corporate (Assigned via group)                            │
    │                                                             │
    │ Start Date              Expiry Date                         │
    │ [__/__/____]           [__/__/____]                        │
    │                                                             │
    │ Payment Status                                              │
    │ ○ Paid (already collected)                                  │
    │ ○ Invoice (send invoice to member)                          │
    │ ○ Complimentary (no payment required)                       │
    │                                                             │
    │ Group/Corporate Membership                                  │
    │ [Select Group ▼] (optional)                                 │
    │                                                             │
    └─────────────────────────────────────────────────────────────┘
  6. Invitation Settings

    Choose how member gets access:

    OptionBehavior
    Send Invite EmailMember receives email to set password
    Generate PasswordSystem creates password for staff to share
    SSO OnlyMember uses SSO (no password needed)

    Invite Email Contents:

    • Welcome message
    • Link to set password
    • Getting started guide
    • Login instructions
  7. Review and Create

    Review all details:

    ┌─────────────────────────────────────────────────────────────┐
    │ Review Member Details                                       │
    ├─────────────────────────────────────────────────────────────┤
    │                                                             │
    │ Name: John Smith                                            │
    │ Email: john@company.com                                     │
    │ Phone: 0412 345 678                                         │
    │                                                             │
    │ Membership: Professional (Annual)                           │
    │ Start: March 15, 2025                                       │
    │ Expiry: March 15, 2026                                      │
    │ Payment: Invoice                                            │
    │                                                             │
    │ ☑ Send invitation email to member                           │
    │                                                             │
    │ [Back]  [Create Member]                                     │
    │                                                             │
    └─────────────────────────────────────────────────────────────┘
  8. Member Created

    Confirmation:

    • Member record created
    • Membership assigned
    • Invite email sent (if selected)
    • CRM sync triggered (if enabled)
    • Audit log entry created

Validation Rules

FieldRule
EmailMust be unique in tenant
EmailValid email format
PhoneValid phone format
Start DateCannot be in past
ExpiryMust be after start

CRM Integration

If CRM enabled, member is synced:

  • Contact created in Salesforce/HubSpot
  • Tags applied based on membership
  • Custom fields mapped
  • Lead source recorded

Acceptance Criteria

Frontend

  • Add Member form with all fields
  • Membership plan dropdown
  • Date pickers for membership dates
  • Payment status selection
  • Invitation options
  • Form validation
  • Success confirmation
  • Error handling

Backend

  • POST /api/members - Create member
  • Email uniqueness validation
  • Membership assignment
  • Invite email sending
  • CRM sync trigger
  • Audit logging

Permissions

  • Only ROLE_CLIENT_ADMIN can create members
  • Tenant scoping enforced

Business Rules

  • Email unique per tenant
  • Membership dates validated
  • Invite email sent if selected
  • CRM sync on creation

Error Handling

  • Duplicate email message
  • Validation error display
  • Email send failure handling

On this page