Add project scope documentation for AI playgroup registration system

Define complete non-technical scope for replacing Google Forms registration
with an AI-powered conversational agent. Includes:

- Registration data requirements (13 fields with validation rules)
- Knowledge base content (fees, regulations, schedule, FAQ from official PDFs)
- Conversation flow design with bilingual support (German/English)
- Agent personality guidelines (warm & friendly tone)
- Admin notification routing by playgroup type
- Email reminder system for incomplete registrations
- Data export formats (CSV/JSON)
- Channel configuration (email + chat)
- Release priorities (MVP scope defined)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-20 17:52:13 +01:00
co-authored by Claude Opus 4.5
parent 685bfbd03f
commit 145947c520
68 changed files with 9809 additions and 0 deletions
@@ -0,0 +1,52 @@
## ADDED Requirements
### Requirement: Web-based chat interface
The system SHALL provide a web-based chat interface where parents can interact with the AI agent in real-time.
#### Scenario: Parent accesses chat
- **WHEN** a parent navigates to the chat interface URL
- **THEN** they SHALL see a chat window ready for conversation
#### Scenario: Real-time messaging
- **WHEN** a parent sends a message in the chat
- **THEN** the agent's response SHALL appear without requiring a page refresh
### Requirement: Chat interface is mobile-responsive
The system SHALL provide a chat interface that works well on mobile devices and desktop browsers.
#### Scenario: Mobile device access
- **WHEN** a parent accesses the chat on a mobile device
- **THEN** the interface SHALL be usable without horizontal scrolling or zooming
#### Scenario: Desktop access
- **WHEN** a parent accesses the chat on a desktop browser
- **THEN** the interface SHALL utilize the available screen space appropriately
### Requirement: Chat displays conversation history
The system SHALL display the conversation history within the current session.
#### Scenario: Message history visible
- **WHEN** a parent is in an active chat session
- **THEN** they SHALL see all previous messages in the current conversation
#### Scenario: Clear message attribution
- **WHEN** viewing the chat history
- **THEN** parent messages and agent messages SHALL be visually distinguishable
### Requirement: Chat session management
The system SHALL manage chat sessions to maintain conversation context.
#### Scenario: Session persistence
- **WHEN** a parent refreshes the page during a chat session
- **THEN** the conversation history and state SHALL be preserved
#### Scenario: Session timeout notification
- **WHEN** a chat session has been inactive for an extended period
- **THEN** the system SHALL notify the parent before ending the session
### Requirement: Chat interface provides typing indicators
The system SHALL indicate when the agent is processing a response.
#### Scenario: Agent processing
- **WHEN** the agent is generating a response
- **THEN** the chat interface SHALL display a typing or processing indicator
@@ -0,0 +1,67 @@
## ADDED Requirements
### Requirement: Agent guides registration conversation
The system SHALL provide an AI agent that engages parents in natural conversation to collect child registration information.
#### Scenario: Parent initiates registration
- **WHEN** a parent starts a conversation with intent to register
- **THEN** the agent SHALL greet them and begin asking registration questions one at a time
#### Scenario: Agent adapts to responses
- **WHEN** a parent provides an answer that requires follow-up
- **THEN** the agent SHALL ask relevant clarifying questions before moving to the next topic
### Requirement: Agent collects required registration fields
The system SHALL collect all required information for a complete registration: child's name, child's age/date of birth, parent/guardian contact information, desired booking days, and any special needs or requirements.
#### Scenario: All required fields collected
- **WHEN** the agent has gathered all required registration fields
- **THEN** the agent SHALL confirm the collected information with the parent before submission
#### Scenario: Missing required field
- **WHEN** the parent attempts to complete registration with missing required fields
- **THEN** the agent SHALL identify and request the missing information
### Requirement: Agent handles special needs information
The system SHALL ask about special needs only when relevant and collect detailed information when indicated.
#### Scenario: Parent indicates special needs
- **WHEN** a parent indicates their child has special needs or requirements
- **THEN** the agent SHALL ask follow-up questions to understand the specific needs
#### Scenario: No special needs indicated
- **WHEN** a parent indicates no special needs
- **THEN** the agent SHALL proceed without additional special needs questions
### Requirement: Agent validates registration completeness
The system SHALL validate that all required fields are present and properly formatted before finalizing a registration.
#### Scenario: Valid registration data
- **WHEN** all required fields are collected and valid
- **THEN** the agent SHALL allow the registration to be submitted
#### Scenario: Invalid data format
- **WHEN** the parent provides data in an invalid format (e.g., invalid date, malformed email)
- **THEN** the agent SHALL politely request the information again with guidance on the expected format
### Requirement: Agent handles conversation interruptions
The system SHALL maintain conversation state and allow parents to resume interrupted registrations.
#### Scenario: Parent asks unrelated question mid-registration
- **WHEN** a parent asks a question about fees or policies during registration
- **THEN** the agent SHALL answer the question and offer to continue the registration
#### Scenario: Conversation timeout
- **WHEN** a registration conversation has been inactive for an extended period
- **THEN** the system SHALL preserve collected data and allow resumption when the parent returns
### Requirement: Agent supports conversation in natural language
The system SHALL understand varied phrasings and respond naturally rather than requiring specific keywords or commands.
#### Scenario: Varied input formats
- **WHEN** a parent provides information in different formats (e.g., "my son is 4" vs "he's four years old" vs "DOB: 2021-03-15")
- **THEN** the agent SHALL correctly interpret and extract the relevant information
#### Scenario: Natural language responses
- **WHEN** the agent responds to the parent
- **THEN** responses SHALL be conversational, friendly, and appropriate for parent communication
@@ -0,0 +1,45 @@
## ADDED Requirements
### Requirement: System receives parent emails
The system SHALL receive and process emails sent by parents to a designated registration email address.
#### Scenario: Parent sends initial email
- **WHEN** a parent sends an email to the registration address
- **THEN** the system SHALL process the email and pass it to the AI agent
#### Scenario: Parent replies to agent email
- **WHEN** a parent replies to an email from the agent
- **THEN** the system SHALL associate the reply with the existing conversation
### Requirement: Agent responds via email
The system SHALL send the AI agent's responses back to parents via email.
#### Scenario: Agent sends response
- **WHEN** the agent generates a response to a parent's message
- **THEN** the system SHALL send an email to the parent with the response
#### Scenario: Email formatting
- **WHEN** an email is sent to a parent
- **THEN** the email SHALL be properly formatted and readable in standard email clients
### Requirement: Email conversations maintain state
The system SHALL track email conversation threads and maintain registration state across multiple email exchanges.
#### Scenario: Multi-email registration
- **WHEN** a registration spans multiple email exchanges
- **THEN** the system SHALL maintain context and collected data throughout the conversation
#### Scenario: Conversation threading
- **WHEN** a parent continues an existing registration conversation
- **THEN** the system SHALL recognize the thread and resume from the previous state
### Requirement: Email channel handles asynchronous communication
The system SHALL handle the asynchronous nature of email without requiring immediate responses.
#### Scenario: Delayed parent response
- **WHEN** a parent takes hours or days to reply to an agent email
- **THEN** the system SHALL still correctly process the reply and continue the conversation
#### Scenario: Email delivery confirmation
- **WHEN** an email is sent to a parent
- **THEN** the system SHALL track delivery status for troubleshooting purposes
@@ -0,0 +1,56 @@
## ADDED Requirements
### Requirement: Store registrations in structured format
The system SHALL store completed registration data in a structured, machine-readable format (e.g., JSON).
#### Scenario: Registration saved
- **WHEN** a registration is completed
- **THEN** all collected data SHALL be stored in a structured format with consistent field names
#### Scenario: Data structure consistency
- **WHEN** multiple registrations are stored
- **THEN** all records SHALL follow the same schema structure
### Requirement: Registration schema validation
The system SHALL validate registration data against a defined schema before storage.
#### Scenario: Valid registration stored
- **WHEN** a registration with all required fields is submitted
- **THEN** the system SHALL validate and store the registration
#### Scenario: Invalid registration rejected
- **WHEN** a registration with missing or invalid fields is submitted for storage
- **THEN** the system SHALL reject the storage and report the validation errors
### Requirement: Registration data is exportable
The system SHALL allow export of registration data in common formats for further processing.
#### Scenario: Export to CSV
- **WHEN** the admin requests a CSV export
- **THEN** the system SHALL generate a CSV file with all registration records
#### Scenario: Export to JSON
- **WHEN** the admin requests a JSON export
- **THEN** the system SHALL provide registration data in JSON format
### Requirement: Registration records are queryable
The system SHALL allow querying registrations by common criteria.
#### Scenario: Query by date range
- **WHEN** the admin queries registrations within a date range
- **THEN** the system SHALL return matching registration records
#### Scenario: Query by booking day
- **WHEN** the admin queries registrations for a specific booking day
- **THEN** the system SHALL return registrations that include that day
### Requirement: Registration data includes metadata
The system SHALL store metadata alongside registration data including submission timestamp and source channel.
#### Scenario: Timestamp recorded
- **WHEN** a registration is completed
- **THEN** the record SHALL include the submission date and time
#### Scenario: Channel recorded
- **WHEN** a registration is completed via email or chat
- **THEN** the record SHALL indicate which channel was used
@@ -0,0 +1,41 @@
## ADDED Requirements
### Requirement: Notify admin on completed registration
The system SHALL send an email notification to the admin when a new registration is completed.
#### Scenario: Notification sent
- **WHEN** a parent completes a registration
- **THEN** the admin SHALL receive an email notification
#### Scenario: Notification timing
- **WHEN** a registration is completed
- **THEN** the notification SHALL be sent promptly (within minutes)
### Requirement: Notification contains registration summary
The system SHALL include a summary of the registration in the notification email.
#### Scenario: Summary content
- **WHEN** a notification email is sent
- **THEN** it SHALL include child name, parent contact, requested booking days, and any special needs noted
#### Scenario: Notification links to full record
- **WHEN** the admin views the notification email
- **THEN** it SHALL indicate how to access the full registration record
### Requirement: Notification identifies source channel
The system SHALL indicate in the notification which channel the registration came through.
#### Scenario: Email registration notification
- **WHEN** a registration completed via email triggers a notification
- **THEN** the notification SHALL indicate the registration came via email
#### Scenario: Chat registration notification
- **WHEN** a registration completed via chat triggers a notification
- **THEN** the notification SHALL indicate the registration came via chat
### Requirement: Admin can configure notification preferences
The system SHALL allow the admin to configure notification email address.
#### Scenario: Update notification email
- **WHEN** the admin changes the notification email address
- **THEN** subsequent notifications SHALL be sent to the new address
@@ -0,0 +1,41 @@
## ADDED Requirements
### Requirement: Knowledge base stores service information
The system SHALL maintain a knowledge base containing playgroup service information including fees, regulations, opening hours, policies, and frequently asked questions.
#### Scenario: Knowledge base content categories
- **WHEN** the knowledge base is queried
- **THEN** it SHALL be able to provide information about fees, regulations, opening hours, policies, and FAQs
### Requirement: Agent accesses knowledge base to answer questions
The system SHALL enable the AI agent to query the knowledge base and provide accurate answers to parent questions.
#### Scenario: Parent asks about fees
- **WHEN** a parent asks about service fees or pricing
- **THEN** the agent SHALL retrieve current fee information from the knowledge base and respond accurately
#### Scenario: Parent asks about regulations
- **WHEN** a parent asks about playgroup rules or regulations
- **THEN** the agent SHALL retrieve the relevant policies and explain them clearly
#### Scenario: Unknown question
- **WHEN** a parent asks a question not covered in the knowledge base
- **THEN** the agent SHALL indicate it cannot answer and suggest contacting the admin directly
### Requirement: Knowledge base is admin-maintainable
The system SHALL allow the admin to update knowledge base content without requiring technical skills or code changes.
#### Scenario: Admin updates fee information
- **WHEN** the admin edits the fee information in the knowledge base
- **THEN** the agent SHALL use the updated information in subsequent responses
#### Scenario: Admin adds new FAQ entry
- **WHEN** the admin adds a new FAQ entry to the knowledge base
- **THEN** the agent SHALL be able to answer questions related to that entry
### Requirement: Knowledge base uses simple editable format
The system SHALL store knowledge base content in a human-readable format (e.g., markdown or structured text files).
#### Scenario: Knowledge base file format
- **WHEN** the admin views the knowledge base files
- **THEN** the content SHALL be readable and editable without specialized tools