Skip to content

🌟Waiting-list as order status #1191

@Midas1989

Description

@Midas1989

Problem Statement
Currently, all registrations are processed immediately. For events requiring specific balancing (e.g., couple-based courses), we need to manually screen applicants before confirming their spot. Handling this via generic registration emails and external lists is error-prone and leads to users overlooking their "waiting" status and missing payment instructions later.

Functional Requirements

  1. Conditional Initial Status (Feature Toggle)
    Each event must have a new configuration setting: manual_approval_required (Boolean).

Logic:

If Enabled: Every new registration is automatically assigned the status waiting_list.

If Disabled: Registrations default to confirmed (standard behavior).

  1. Automated Email Workflows
    The system must distinguish between the initial receipt of registration and the final confirmation.

Template A: Waiting List Notification

Trigger: Sent immediately if manual_approval_required is active.

Content: Confirmation of receipt, explicit notice that the user is on the waiting list, and instructions not to pay yet.

Template B: Confirmation & Payment Request

Trigger: Sent when an admin manually moves a user from waiting_list to confirmed.

Content: Final participation confirmation including payment details and deadlines.

  1. Backend & UI Enhancements
    Event Settings: Add a toggle: "Require manual approval for this event".

Participant Management:

Implement a filter for status == 'waiting_list'.

Add a Bulk Action to "Approve and Send Payment Details" for selected participants.

Technical Implementation Logic (Pseudocode)
TypeScript
if event.manual_approval_required
registration.status = Status.WAITING_LIST
Mail send (Templates.WAITING_LIST_NOTICE)
else
registration.status = Status.CONFIRMED
Mail send(Templates.PAYMENT_REQUEST)

Expected Outcome
Reduction of manual administrative overhead and elimination of communication errors regarding payment status for couple-based or restricted-capacity courses.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions