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>
138 lines
3.7 KiB
JSON
138 lines
3.7 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"title": "PlaygroupRegistration",
|
|
"description": "Schema for playgroup child registration data",
|
|
"type": "object",
|
|
"required": [
|
|
"child",
|
|
"parentGuardian",
|
|
"emergencyContact",
|
|
"booking",
|
|
"metadata"
|
|
],
|
|
"properties": {
|
|
"child": {
|
|
"type": "object",
|
|
"required": ["fullName", "dateOfBirth", "specialNeeds"],
|
|
"properties": {
|
|
"fullName": {
|
|
"type": "string",
|
|
"minLength": 2,
|
|
"description": "Child's full name (first and last)"
|
|
},
|
|
"dateOfBirth": {
|
|
"type": "string",
|
|
"format": "date",
|
|
"description": "Child's date of birth (YYYY-MM-DD)"
|
|
},
|
|
"specialNeeds": {
|
|
"type": "string",
|
|
"description": "Special needs, medical conditions, allergies, or 'None'"
|
|
}
|
|
}
|
|
},
|
|
"parentGuardian": {
|
|
"type": "object",
|
|
"required": ["fullName", "streetAddress", "postalCode", "city", "phone", "email"],
|
|
"properties": {
|
|
"fullName": {
|
|
"type": "string",
|
|
"minLength": 2,
|
|
"description": "Parent/guardian full name"
|
|
},
|
|
"streetAddress": {
|
|
"type": "string",
|
|
"description": "Street name and house number"
|
|
},
|
|
"postalCode": {
|
|
"type": "string",
|
|
"pattern": "^[0-9]{4}$",
|
|
"description": "Swiss postal code (4 digits)"
|
|
},
|
|
"city": {
|
|
"type": "string",
|
|
"description": "City/town name"
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "Contact phone number"
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"format": "email",
|
|
"description": "Contact email address"
|
|
}
|
|
}
|
|
},
|
|
"emergencyContact": {
|
|
"type": "object",
|
|
"required": ["fullName", "phone"],
|
|
"properties": {
|
|
"fullName": {
|
|
"type": "string",
|
|
"minLength": 2,
|
|
"description": "Emergency contact full name"
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "Emergency contact phone number"
|
|
}
|
|
}
|
|
},
|
|
"booking": {
|
|
"type": "object",
|
|
"required": ["playgroupTypes", "selectedDays"],
|
|
"properties": {
|
|
"playgroupTypes": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"enum": ["indoor", "outdoor"]
|
|
},
|
|
"minItems": 1,
|
|
"description": "Selected playgroup type(s)"
|
|
},
|
|
"selectedDays": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["day", "type"],
|
|
"properties": {
|
|
"day": {
|
|
"type": "string",
|
|
"enum": ["monday", "wednesday", "thursday"]
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["indoor", "outdoor"]
|
|
}
|
|
}
|
|
},
|
|
"minItems": 1,
|
|
"description": "Selected booking days with playgroup type"
|
|
}
|
|
}
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"required": ["submittedAt", "channel"],
|
|
"properties": {
|
|
"submittedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "Registration submission timestamp"
|
|
},
|
|
"channel": {
|
|
"type": "string",
|
|
"enum": ["email", "chat"],
|
|
"description": "Channel through which registration was completed"
|
|
},
|
|
"conversationId": {
|
|
"type": "string",
|
|
"description": "Unique identifier for the registration conversation"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|