Use Cases
1. Overview
The Registration Portal supports three primary use cases, each with distinct workflows and user interactions. This document provides detailed scenarios demonstrating how users accomplish their goals.
2. Use Case 1: LinkedPerson Management
2.1. Overview
Goal: Manage a group of related people (family, friends, team) for registration purposes.
Actors: * Primary User (principal) * Related Persons (linked persons)
Preconditions: * User has received registration link with userKey * User has accessed the registration portal
2.2. Scenario 1.1: Add Family Member by ID Number
Context: Sarah wants to add her 10-year-old son Billy to register for a family membership.
Workflow:
-
Sarah accesses membership registration page
-
Clicks "+ Add Family Member"
-
Navigates to LinkedPerson search page
-
Selects "Search by ID Number"
-
Enters Billy’s 13-digit SA ID number:
1001150123089 -
System validates ID format ✓
-
System auto-extracts:
-
Date of Birth: 2010-11-15
-
Gender: Male (sequence 0123 < 5000)
-
-
System searches existing persons… no match found
-
System displays create person form with pre-populated data:
-
Identity Type: National ID (locked)
-
ID Number: 1001150123089 (locked)
-
Date of Birth: 2010-11-15 (locked)
-
Gender: Male (locked)
-
Country: South Africa (locked)
-
-
Sarah enters:
-
First Name: Billy
-
Last Name: Smith
-
Email: (leaves blank)
-
Contact Number: (leaves blank)
-
School: Pretoria High School
-
-
Clicks "Save"
-
System creates Person record
-
System creates LinkedPerson relationship:
-
Principal: Sarah (ID: 1)
-
Linked Person: Billy (ID: 3)
-
Type: FAMILY
-
-
Returns to membership registration page
-
Billy now appears in person selection table
Outcome: Billy is now linked to Sarah and available for membership registration.
2.3. Scenario 1.2: Add Friend by Date of Birth
Context: John wants to add his friend Mike to register together for a race event.
Workflow:
-
John accesses event registration page
-
Clicks "+ Add Person"
-
Navigates to LinkedPerson search
-
Selects "Search by Date of Birth"
-
Selects birth date: 1985-03-15 (year → month → day drill-down)
-
Clicks "Search"
-
System finds 3 matches:
-
Mike Johnson - 1985-03-15 - Male
-
Michael Smith - 1985-03-15 - Male
-
Michelle Roberts - 1985-03-15 - Female
-
-
John reviews the list
-
Clicks "Select" next to Mike Johnson
-
System displays Mike’s details for confirmation
-
John verifies identity and clicks "Link Person"
-
System creates LinkedPerson relationship:
-
Principal: John (ID: 5)
-
Linked Person: Mike (ID: 7)
-
Type: FRIEND
-
-
Returns to event registration
-
Mike now appears in participant selection
Outcome: Mike is linked to John and can be registered for the event.
2.4. Scenario 1.3: Edit Existing Linked Person
Context: Sarah needs to update Billy’s school information.
Workflow:
-
Sarah accesses membership registration
-
Sees Billy in linked persons table
-
Clicks "Edit" button next to Billy’s name
-
System navigates to edit person form
-
Identity fields are locked (ID number, DOB, gender)
-
Sarah updates:
-
School: Pretoria High School → Centurion High School
-
-
Clicks "Save"
-
System updates Person record
-
Returns to registration page
-
Changes are reflected in the table
Outcome: Billy’s information is updated without creating a duplicate.
3. Use Case 2: Membership Registration
3.1. Overview
Goal: Apply for organizational membership with multiple family members.
Actors: * Membership Applicant (principal) * Family Members (linked persons)
Preconditions: * User received membership invitation email * Membership period is open for registration
3.2. Scenario 2.1: Family Membership Application
Context: Sarah applies for a family membership for herself and her two children.
Workflow:
Step 1: Access Registration
-
Sarah receives email:
Subject: 2024 Running Club Membership Now Open
Dear Sarah Smith,
Registration for the 2024 Running Club membership is now open.
Click here to register:
https://app.runningclub.com/membership/register/42?u=abc123&h=5d41402a...
Best regards,
Running Club
-
Sarah clicks the link
-
System validates userKey and hash ✓
-
System loads membership registration page
Step 2: Person Selection
-
System displays linked persons:
Select Family Members:
☐ Sarah Smith | 1985-03-15 | Available
☐ Billy Smith | 2010-11-03 | Available
☐ Emma Smith | 2013-07-20 | Available
-
Sarah selects herself and both children ☑
-
Selected count updates: "3 participants selected"
-
Pricing preview: "Total: R 1,000.00"
-
Sarah clicks "Continue"
Step 3: Question Workflow
-
Question 1: "Does anyone have any medical conditions?"
☐ Sarah Smith
☑ Billy Smith
☐ Emma Smith
Sarah checks Billy (he has asthma)
-
Question 2: "What is your emergency contact number?"
Sarah Smith: [0821234567]
Billy Smith: [0821234567]
Emma Smith: [0821234567]
-
Question 3: "Who will be the primary contact person?"
(●) Sarah Smith
( ) Billy Smith
( ) Emma Smith
Sarah selects herself
-
Question 4: "What are your T-shirt sizes?"
Sarah Smith: [Dropdown: M]
Billy Smith: [Dropdown: L]
Emma Smith: [Dropdown: S]
-
Question 5: "I accept the terms and conditions"
[X] Accept for all members
[X] Sarah Smith - I accept the terms and conditions
[X] Billy Smith - I accept the terms and conditions
[X] Emma Smith - I accept the terms and conditions
Step 4: Payment
-
System displays summary:
Registration Complete!
Membership Summary:
- Sarah Smith (Adult) R 500.00
- Billy Smith (Junior) R 300.00
- Emma Smith (Junior) R 200.00
----------
Total: R 1,000.00
[Proceed to Payment]
-
Sarah clicks "Proceed to Payment"
-
System redirects to payment gateway
-
Sarah completes payment
-
Gateway redirects back to portal
-
System displays confirmation:
Payment Successful!
Membership Numbers:
- Sarah Smith: M2024-1523
- Billy Smith: M2024-1524
- Emma Smith: M2024-1525
A confirmation email has been sent to [email protected]
Outcome: Family membership successfully registered and paid.
3.3. Scenario 2.2: Resume Incomplete Registration
Context: John started a membership application but didn’t complete payment. He returns 2 days later.
Workflow:
-
John clicks original registration link
-
System detects existing ProcessInstance in SUSPENDED state
-
System displays dialog:
Existing Registration Detected
A previous registration attempt was found from 2 days ago.
Would you like to:
[Start Fresh] [Resume]
-
John clicks "Resume"
-
System loads ProcessInstance
-
System restores state:
-
Selected persons: John, Mike (2 persons)
-
Completed questions: 1-3 of 5
-
Current step: Question 4
-
-
System displays Question 4 with previous selections intact
-
John completes Questions 4-5
-
Normal payment flow continues
-
Registration completed
Outcome: John successfully completes registration without re-entering previous answers.
4. Use Case 3: Event Participant Registration
4.1. Overview
Goal: Register participants for an event (race, tournament, competition).
Actors: * Event Participant (registrant) * Additional Participants (friends, family, team members)
Preconditions: * Event registration is open * User has received event registration link
4.2. Scenario 3.1: Individual Race Registration
Context: Emma wants to register herself for a 10km fun run.
Workflow:
-
Emma receives SMS:
Running Club 10km Fun Run - March 15
Register now: https://app.runningclub.com/register?eventId=15&orgId=8&userKey=xyz789
-
Emma clicks link
-
System validates userKey ✓
-
System loads event registration page
-
System displays event details:
Event: 10km Fun Run
Date: March 15, 2024
Location: Centurion, Gauteng
Distance: 10km
Entry Fee: R 150.00
Registration Closes: March 10, 2024
-
System displays participant selection:
Select Participants:
☑ Emma Smith | 2013-07-20 | Female
-
Emma is automatically selected (only person available)
-
Pricing: "Total: R 150.00 (1 participant)"
-
Emma clicks "Register"
-
System creates EventParticipant record
-
System creates Order
-
System redirects to payment gateway
-
Emma completes payment
-
System displays confirmation:
Registration Successful!
Emma Smith - Bib Number: B1523
You will receive your race pack at:
Race Expo: March 14, 2024, 10:00-18:00
Centurion Mall
Race Start: March 15, 2024, 07:00
Good luck!
Outcome: Emma successfully registered for the race.
4.3. Scenario 3.2: Team Registration
Context: Coach David registers 5 team members for a relay race.
Workflow:
-
David accesses team registration link
-
System loads his linked persons (team members):
Select Participants:
☐ David Lee | 1980-05-12 | Coach
☐ James Brown | 1995-08-20 | Athlete
☐ Lisa Wong | 1997-03-15 | Athlete
☐ Tom Anderson | 1996-11-08 | Athlete
☐ Kelly Martinez | 1998-01-25 | Athlete
☐ Chris Taylor | 1999-07-30 | Athlete
-
David selects 4 athletes for the relay team
-
System displays team total: "Total: R 600.00 (4 participants × R 150.00)"
-
David clicks "Register"
-
System assigns consecutive bib numbers:
-
James Brown: T1001
-
Lisa Wong: T1002
-
Tom Anderson: T1003
-
Kelly Martinez: T1004
-
-
Payment and confirmation follow
-
Email sent with team details
Outcome: Relay team successfully registered.
4.4. Scenario 3.3: Registration with Age Restriction
Context: Billy (age 10) tries to register for an adult-only race.
Workflow:
-
Sarah tries to register Billy for "Half Marathon 21km"
-
System validates participant eligibility
-
System detects age restriction:
-
Race: Half Marathon 21km
-
Minimum Age: 16 years
-
Billy’s Age: 10 years
-
-
System displays error:
Registration Error
Billy Smith is not eligible for this race.
Reason: Participant is under minimum age requirement (16 years)
Please select a different race or participant.
-
System suggests alternatives:
-
5km Junior Run (Ages 8-15)
-
1km Kids Dash (Ages 5-10)
-
-
Sarah navigates back and selects "5km Junior Run"
-
Billy is eligible ✓
-
Registration proceeds successfully
Outcome: System prevents ineligible registration, guides user to appropriate event.
5. Use Case Variations
5.1. Variation: Free Registration
Context: Organisation offers promotional free membership.
Differences:
-
Pricing shows: R 0.00
-
Payment step skipped
-
Membership activated immediately
-
Confirmation email sent without payment receipt
5.2. Variation: Multiple Registration Attempts
Context: User tries to register person who is already registered.
Workflow:
-
User selects person who has active membership
-
Person shows status: "Registered"
-
Checkbox is disabled (canSelect = false)
-
Tooltip displays: "Already has active membership"
-
User cannot select this person
-
User can view existing membership details
5.3. Variation: Registration Window Closed
Context: User accesses registration link after closing date.
Workflow:
-
User clicks registration link
-
System checks membership period:
-
Registration End Date: 2024-01-31
-
Current Date: 2024-02-05
-
-
System displays message:
Registration Closed
Registration for 2024 Running Club membership closed on January 31, 2024.
Please contact the club administrator for late registration requests.
Email: [email protected]
Phone: 012 345 6789
-
Registration form is not displayed
-
Contact information provided for inquiries
6. User Journey Maps
6.1. Journey: First-Time Membership Applicant
Stage 1: Discovery
├─ Receive invitation email
├─ Click registration link
└─ Land on registration page
Stage 2: Setup
├─ Review membership benefits
├─ Add family members (if any)
├─ Select persons for membership
└─ Click Continue
Stage 3: Application
├─ Answer question 1
├─ Answer question 2
├─ Answer question 3
├─ Answer question 4
├─ Accept terms
└─ Review summary
Stage 4: Payment
├─ Redirect to payment gateway
├─ Enter payment details
├─ Confirm payment
└─ Return to portal
Stage 5: Confirmation
├─ View membership numbers
├─ Receive confirmation email
└─ Done
Average Time: 8-12 minutes
Pain Points:
-
Adding family members (if not already linked)
-
Answering multiple questions
-
Payment gateway redirect
Improvements:
-
Pre-populate data where possible
-
Progress indicator for questions
-
Save and resume functionality
6.2. Journey: Returning Event Participant
Stage 1: Access
└─ Click event link from SMS/email
Stage 2: Selection
├─ Review event details
├─ Select participants (self already selected)
└─ Click Register
Stage 3: Payment
├─ Redirect to payment
├─ Complete payment
└─ Return to portal
Stage 4: Confirmation
├─ View bib number
├─ Note race pack collection details
└─ Done
Average Time: 3-5 minutes
Pain Points:
-
Minimal friction for returning users
Improvements:
-
Remember payment method for faster checkout
-
Push notifications for race day reminders
7. Error Scenarios
7.1. Invalid Registration Link
Symptoms:
-
User clicks old/expired link
-
Hash validation fails
-
System shows error page
Resolution:
-
Request new registration link
-
Contact organization administrator