Functional Overview

This section provides a high-level overview of the functional capabilities for the Registration Portal Phase 2, including enhancements to Membership Registration and the new Event Registration feature.

1. Core Functional Areas

1.1. Identity Selection

Purpose: Allow users to authenticate or proceed with registration through multiple access methods while protecting personal information.

1.1.1. Authentication Rationale

The primary purpose of authentication is to protect personal information that users entrust to the system:

  • Stored data: Names, date of birth, gender, contact details, emergency contacts, medical information

  • Recurring access: Users return annually for membership renewal or multiple events

  • Appropriate security: Authentication need not be enterprise-grade; OTP via SMS or WhatsApp is often sufficient

1.1.2. Available Authentication Methods

  • OIDC Authentication - Sign in via configured identity provider (Google, Apple, organisation-specific)

  • Hash-Based Access - URL-based authentication with secure hash parameters (?u=…​&h=…​)

  • Guest Access - "Quick Registration" mode for walk-up registrations without authentication

1.1.3. Entry Points

Registration URLs follow a consistent pattern:

  • Membership: /membership/{membershipTypeId}

  • Event: /event/{eventId}

Both entry points share authentication logic but redirect to their respective registration flows.

1.1.4. Guest Mode

Guest mode enables rapid registration without credentials, supporting scenarios such as:

  • Late registration at the event venue

  • Walk-up registrations where users cannot recall credentials

  • QR code-based "Quick Registration" from event banners

In guest mode:

  • System creates a temporary OrgUser with generated UUID

  • User provides minimal details: first name, last name, cellphone

  • System attempts to match to existing person records

  • Previously linked persons are not shown (explicit add required)

See Authentication Requirements for detailed flow specifications.

Scope by Registration Type:

  • Membership Registration: Hash-based access and guest access

  • Event Registration: OIDC, hash-based access, and guest access

1.2. Person Management

Purpose: Manage groups of related people (family, friends, team) for registration.

1.2.1. Core Capabilities

  • Person Search - Find existing persons by SA ID Number or Date of Birth

  • Masked Search Results - DOB search returns masked names and gender only for privacy

  • Person Creation - Create new person records with identity validation

  • Profile Linking - Link persons to user profile with appropriate permissions

  • Person Selection - Select linked persons for registration

1.2.2. Identity Management Philosophy

The system follows a conversion-first approach to identity management:

  1. Actively prevent duplicates: Always search for existing persons before creating new records

  2. Accept duplication when necessary: If matching fails or is inconclusive, create new records rather than blocking registration

  3. Build merge capabilities: Detection and merge tools consolidate duplicates after the fact

  4. Prioritise user experience: Identity management concerns must never prevent registration completion

1.2.3. Duplicate Detection and Merging

Duplicate handling is an ongoing process:

  • Automatic detection: Backend processes identify potential duplicates based on matching algorithms

  • Manual review: Admin interface allows staff to review and merge detected duplicates

  • Account linking: When a user creates an account with an email matching existing guest records, the system prompts for merge

  • Cross-session matching: When hash-based or OIDC authentication identifies a user previously registered as guest

1.2.4. Relaxed Matching for Known Relationships

When adding persons in guest mode, if the principal (current user) is identified as an existing person, the system applies relaxed matching rules:

  • The backend knows which persons are linked to the principal from previous sessions

  • Prior relationship creates implicit trust for more lenient identification

  • Known linked persons appear first in suggestions without masking

  • Multiple weak signals (principal identified, prior relationship, same session) compound to create strong identification

See Authentication Requirements for detailed matching specifications.

1.3. Membership Registration

Purpose: Process-driven workflow for membership applications.

  • Membership Period Display - Show active membership period details and pricing

  • Member Status Tracking - Display existing membership status for linked persons

  • Multi-Person Registration - Register multiple family members in single application

  • Question Workflow - Sequential questions driven by ProcessDefinition

  • Resume Capability - Resume incomplete registrations from any step

Phase 2 Enhancements:

  • Manual Payment option (QR code handoff to staff)

  • Communication preference capture (Email, SMS, WhatsApp)

1.4. Event Registration

Purpose: Register participants for events such as races, tournaments, and competitions.

  • Event Details Display - Show event information, dates, location, pricing

  • Participant Status - Display registration status for linked persons

  • Multi-Participant Registration - Register multiple people in single transaction

  • Category Selection - Choose event category/race for each participant

  • Question Workflow - Event-specific questions via ProcessDefinition

  • Cancellation Support - Cancel registrations with refund rules applied

New Feature: Event Registration is a new capability in Phase 2.

Priority: Lower priority than Membership Registration improvements. Will be addressed after Membership Registration enhancements are complete.

1.5. Payment Processing

Purpose: Handle payment for registrations via online or manual channels.

  • Online Payment - Redirect to WooCommerce payment gateway

  • Manual Payment - Generate QR code with reference for staff capture

  • Payment Status - Track payment state (pending, processing, paid, failed)

  • Payment Return - Handle gateway callbacks and update registration status

1.5.1. Manual Payment Flow

  1. User selects Manual Payment option

  2. System generates unique reference number

  3. System displays QR code encoding the reference

  4. User presents QR code to staff at registration desk

  5. Staff captures payment on separate admin system (out of scope)

  6. Backend receives payment confirmation and updates registration

1.6. Event Cancellation

Purpose: Allow users to cancel event registrations with appropriate refunds.

  • Cancellation Request - User initiates cancellation for registered participant

  • Refund Calculation - Apply refund rules based on cancellation timing

  • Cancellation Confirmation - Display refund amount and confirm action

  • Status Update - Mark registration as cancelled

1.6.1. Refund Rules

Timing Refund Notes

≥7 days before event

90% of registration fee

10% admin fee retained

<7 days before event

No refund

Full fee retained

1.7. Communication Preferences

Purpose: Capture user’s preferred notification channels.

  • Preference Question - Standard question in registration workflow

  • Channel Options - Email, SMS, WhatsApp

  • Multi-Select - User can select multiple channels

Actual notification sending is handled by the backend system and is out of scope for the Registration Portal. The portal only captures the preference.

2. Integration Requirements

The Registration Portal integrates with:

  • Identity Provider - OIDC authentication (for Event Registration)

  • WooCommerce - Online payment processing

  • Backend API - Person management, registration processing, payment callbacks

  • Admin System - Manual payment capture (separate system, out of scope)

See Architecture for integration details.

3. User Roles and Access

Role Functions Access Method

Registration User

Register self and linked persons for membership/events

Hash-based URL or OIDC authentication

Anonymous User

Register without authentication (when permitted)

Direct URL access

Staff (Out of Scope)

Capture manual payments

Separate admin system

4. Feature Prioritization

Priority Feature Scope

1 - High

Membership Registration Enhancements

Add Manual Payment, Communication Preferences to existing workflow

2 - Medium

Event Registration (New)

Full registration flow including cancellation with refunds

3 - Low

OIDC Authentication

Identity Selection for Event Registration (Membership continues with hash-based)