Async Communication Functional Requirements

1. Business Context

The Event and Membership Administration System requires automated, asynchronous communication workflows to engage customers throughout their lifecycle - from initial registration through event participation and membership renewal.

1.1. Business Drivers

  • Improved Customer Experience - Timely, relevant communications at each stage of the customer journey

  • Reduced Manual Effort - Automated workflows replace manual follow-up processes

  • Payment Recovery - Systematic payment reminders to reduce abandoned registrations

  • Event Success - Pre-event communications ensure participants are prepared

  • Membership Retention - Proactive renewal reminders to maintain membership base

1.2. Scope

This requirements document covers:

  • Workflow orchestration for automated communication sequences

  • Multi-channel message delivery (Email, SMS, WhatsApp)

  • Scheduling and timing rules for message delivery

  • Integration with existing platforms (Fluxnova, Mautic, Chatwoot)

Out of scope:

  • Marketing campaign management (handled by Mautic)

  • Customer support conversations (handled by Chatwoot)

  • Real-time notifications (push notifications, in-app)

2. Functional Requirements

2.1. FR-AC-001: Workflow Initiation

ID FR-AC-001

Title

Workflow Initiation at Registration

Priority

High

Description

The system shall initiate an async communication workflow when a registration is created, regardless of payment status.

Acceptance Criteria

  • Workflow starts immediately upon registration creation

  • Workflow tracks registration through to completion or abandonment

  • Workflow state persists across system restarts

  • Multiple concurrent workflows for same person are handled correctly

Related

Registration Workflow Scenario

2.2. FR-AC-002: Payment Status Monitoring

ID FR-AC-002

Title

Payment Status Change Detection

Priority

High

Description

The system shall detect payment status changes and trigger appropriate workflow transitions.

Acceptance Criteria

  • Payment completion terminates reminder sequences

  • Partial payment triggers different message sequence

  • Payment failure triggers recovery workflow

  • Status changes detected within 5 minutes

Related

Payment Reminder Scenario

2.3. FR-AC-003: Multi-Channel Delivery

ID FR-AC-003

Title

Multi-Channel Message Delivery

Priority

High

Description

The system shall support message delivery via Email, SMS, and WhatsApp based on customer preference.

Acceptance Criteria

  • Customer channel preference is respected

  • Fallback to alternative channel if primary fails

  • Channel-specific message formatting applied

  • Delivery status tracked per channel

Channels

  • Email - Rich content, attachments, primary channel

  • SMS - Direct, high-visibility, character-limited

  • WhatsApp - Rich messaging, high engagement, template-based

2.4. FR-AC-004: Scheduled Message Delivery

ID FR-AC-004

Title

Time-Based Message Scheduling

Priority

High

Description

The system shall support scheduling messages relative to events (registration date, event date, expiry date).

Acceptance Criteria

  • Messages scheduled relative to trigger events

  • Absolute date/time scheduling supported

  • Time-of-day restrictions honoured (no messages at antisocial hours)

  • Timezone-aware scheduling

  • Schedule modifications possible for running workflows

2.5. FR-AC-005: Message Limits and Cutoffs

ID FR-AC-005

Title

Communication Limits and Cutoffs

Priority

Medium

Description

The system shall enforce limits on message frequency and cutoff times relative to events.

Acceptance Criteria

  • Maximum reminder count per scenario configurable

  • Minimum interval between messages enforced

  • Pre-event cutoff prevents late messages

  • Post-event communications follow different rules

2.6. FR-AC-006: Emergency Communication

ID FR-AC-006

Title

Emergency Broadcast Capability

Priority

High

Description

The system shall support immediate broadcast of emergency messages to affected participants.

Acceptance Criteria

  • Emergency messages bypass normal scheduling

  • Target audience selectable (event participants, membership groups)

  • Multi-channel simultaneous delivery

  • Delivery confirmation tracking

  • Audit trail of emergency communications

Use Cases

  • Event cancellation due to weather

  • Venue change notification

  • Safety alerts

2.7. FR-AC-007: Opt-Out Management

ID FR-AC-007

Title

Communication Preference and Opt-Out

Priority

High

Description

The system shall respect customer communication preferences and opt-out requests.

Acceptance Criteria

  • Per-channel opt-out supported

  • Per-category opt-out supported (marketing vs transactional)

  • Opt-out processing within 24 hours

  • Transactional messages exempt from marketing opt-out

  • Opt-out status synchronised across platforms

2.8. FR-AC-008: Workflow Visibility

ID FR-AC-008

Title

Workflow Status Visibility

Priority

Medium

Description

The system shall provide visibility into active workflows and message history.

Acceptance Criteria

  • Active workflows viewable by administrators

  • Per-customer communication history accessible

  • Workflow state inspection (pending messages, completed steps)

  • Failed message visibility with retry capability

2.9. FR-AC-009: Template Management

ID FR-AC-009

Title

Message Template Management

Priority

Medium

Description

The system shall use templates for all automated messages with variable substitution.

Acceptance Criteria

  • Templates defined per message type and channel

  • Variable substitution (name, event details, amounts)

  • Template versioning supported

  • WhatsApp templates synchronised with Meta Business Manager

2.10. FR-AC-010: Delivery Tracking

ID FR-AC-010

Title

Message Delivery Tracking

Priority

Medium

Description

The system shall track message delivery status and engagement.

Acceptance Criteria

  • Delivery status per message (sent, delivered, failed)

  • Email open tracking (where supported)

  • Link click tracking (where supported)

  • WhatsApp read receipts captured

  • Failed delivery retry with backoff

3. Non-Functional Requirements

3.1. NFR-AC-001: Durability

ID NFR-AC-001

Title

Workflow Durability

Description

Workflow state must survive system restarts, deployments, and failures.

Requirement

Workflows in progress shall resume from last known state after system restart with no message duplication.

3.2. NFR-AC-002: Scalability

ID NFR-AC-002

Title

Workflow Scalability

Description

The system must handle expected workflow volumes.

Requirement

  • Support hundreds to low thousands of concurrent workflows

  • Process 100-500 workflow steps per second peak

  • Handle bulk emergency broadcasts to 10,000+ recipients

3.3. NFR-AC-003: Latency

ID NFR-AC-003

Title

Message Delivery Latency

Description

Messages shall be delivered within acceptable timeframes.

Requirement

  • Scheduled messages delivered within 5 minutes of scheduled time

  • Emergency messages initiated within 1 minute of trigger

  • Payment status changes reflected in workflow within 5 minutes

3.4. NFR-AC-004: Auditability

ID NFR-AC-004

Title

Communication Audit Trail

Description

All communications must be auditable for compliance and troubleshooting.

Requirement

  • Complete audit trail of all sent messages

  • Timestamp, recipient, channel, content hash recorded

  • Opt-out events logged

  • Retention period: 7 years (regulatory compliance)

4. Technology Decisions

The following technology decisions have been made (see design journal for rationale):

Component Decision Rationale

Workflow Engine

FINOS Fluxnova (Camunda 7 fork)

Stakeholder BPMN expertise, already deployed, lighter footprint than Temporal

Email Marketing

Mautic

Open source, deployed, marketing automation features

WhatsApp/SMS

Chatwoot

WhatsApp Cloud API integration, deployed, customer support features

Architecture

Hybrid orchestration

Fluxnova orchestrates, delegates to Mautic/Chatwoot for delivery

6. Traceability

Artefact Reference

Design Thread

design-journal/2026-01/async-processing-communication.adoc

ADO Epic

To be created

Related ADRs

To be created