Business Requirements Document

OneSummer

The Common App for Summer Camps. A unified discovery, planning, and application platform that lets parents fill out forms once and apply everywhere — in 30 seconds instead of 30 minutes.

Version
1.0 (Draft)
Status
In Review
Date
April 2026
Target Launch
Jan 2027 (MVP)
Document Owner
Product
Audience
Product & Engineering
Priority Legend: P0 MVP — must ship P1 V1.1 — next release P2 V1.2 — near-term P3 Future — backlog
1

Document Overview

Purpose

This Business Requirements Document (BRD) defines the product requirements, scope, and success criteria for OneSummer — a unified summer camp discovery and application platform. It serves as the authoritative reference for the Product, Engineering, Design, and Operations teams during the design, development, and launch of the MVP and subsequent releases.

This document establishes the "what" and "why" for the platform. Technical implementation decisions (the "how") are deferred to technical design documents authored by Engineering.

Scope

This BRD covers the OneSummer web application, including all parent-facing and camp-director-facing surfaces, from initial public launch (MVP) through Version 2.0. It encompasses:

  • Camp discovery and search
  • Child profile vault and document management
  • One-click application system
  • Summer calendar planner
  • Parent dashboard and notifications
  • Reviews and ratings
  • Camp director listing and application portal
  • Waitlist management

Native mobile apps are explicitly out of scope for V1.x. The platform will be mobile-first responsive web.

Stakeholders

Role Name / Team Responsibility RACI
Product Owner Product Team Define requirements, prioritize backlog, approve scope changes Accountable
Engineering Lead Engineering Team Architect and deliver the technical implementation Responsible
Design Lead Design Team Create and maintain the UX/UI design system and all mockups Responsible
Legal / Compliance Legal COPPA, CCPA, data privacy sign-off Consulted
Camp Partners Partnerships Provide requirements for director portal; validate listing data Consulted
Parent Advisors User Research Validate UX assumptions, participate in usability testing Consulted
Executive Sponsor Leadership Final sign-off on strategic direction and investment Informed

Version History

Version Date Author Summary of Changes Status
v0.1 Feb 2026 Product Initial outline and core objective statement Superseded
v0.5 Mar 2026 Product Added personas, FR skeleton, NFR draft Superseded
v1.0 Apr 2026 Product Full requirements, acceptance criteria, MVP scope, success metrics In Review
2

Business Objectives

Core Objective

OneSummer is the Common App for summer camps — a unified platform that reduces camp registration time from 30 minutes to 30 seconds per application, while creating the first comprehensive camp discovery experience that surfaces quality options to all families, regardless of their access to information or time.

Primary Objectives

ID Objective Rationale Measurable Outcome
OBJ-001 Eliminate Redundant Registration Work
Reduce per-application time from ~30 min to under 30 seconds by auto-filling forms from the Child Profile Vault.
Parents spend 20–40 hours per season on camp paperwork. This is the single highest-pain moment in the camp experience and the clearest value proposition for OneSummer. Median application time <90 seconds (target: 30 sec) for profiles with >80% completeness
OBJ-002 Create the First Unified Camp Discovery Platform
Build a searchable, filterable directory of summer camps serving a given geography, making it the authoritative starting point for camp research.
Camp discovery is currently fragmented across Google searches, Facebook groups, word-of-mouth, and individual camp websites. No single destination exists. 500+ camps listed at launch; 60%+ of target-market parents aware of platform by end of Year 1

Secondary Objectives

ID Objective Rationale Measurable Outcome
OBJ-003 Surface Scholarship & Subsidy Opportunities
Proactively surface scholarships, financial aid, and subsidized programs to parents, especially those who lack access to information networks.
Research shows 60%+ of eligible families don't access available subsidies because they don't know they exist. OneSummer can democratize this information. 20%+ of registered families with household income <$75K view scholarship options; measurable subsidy connection rate
OBJ-004 Provide Camps a Modern Registration & Discovery Channel
Give camp directors a self-service portal to manage listings, sessions, applications, and analytics — replacing expensive legacy tools.
Many camps use outdated, expensive, or difficult-to-configure tools (CampMinder, custom forms). A better channel is a compelling reason for camps to join the platform. 100+ active camp listings within 6 months of launch; <5% monthly churn on free tier
OBJ-005 Enable Quality-Based Matching
Help parents find camps that are a great fit for their child's specific interests, needs, and developmental goals — not just logistically convenient.
Parents like Sonia (see Persona 3) care deeply about fit. Reviews, detailed profiles, and filtering by needs/interests create a trust-building platform. Search-to-application conversion >8%; qualitative satisfaction score >4.2/5.0 on "found the right fit"

Key Success Metrics at a Glance

30s
Target application completion time (with complete vault)
Baseline: ~30 minutes
500+
Camps listed at public launch
Target: 1,000 by end of Year 1
50K
Registered parent accounts, Year 1
Milestone: 10K by month 6
8%
Search-to-application conversion rate
Industry baseline: <2%
55+
Parent Net Promoter Score (NPS)
World-class category: >50
80%
Profile completeness rate among active users
Drives auto-fill quality
20%
Low-income families connecting to subsidies
Equity mission metric
4.4+
Parent satisfaction score (out of 5.0)
Measured post-application
3

User Personas

These four personas represent the primary user archetypes for OneSummer. Every feature decision should be evaluated against at least one of these archetypes. Product prioritization explicitly favors Lisa and Derek as the highest-volume and highest-impact users.

👩
Lisa — The Power Planner
Parent of 3 • Dual income • High tech comfort
Parent of 3 children (ages 6, 9, 12). Registers for 8+ camps per summer across all three kids. Currently manages camp logistics in a 40-row spreadsheet and sets calendar reminders for registration open dates. Spends 20+ hours per season on camp paperwork.
Fills in the same medical and emergency info on every single application, every single year
No single view of the whole summer — which kid is where, which weeks are uncovered
Managing 3 different profiles, 3+ pending applications, and tracking total summer cost
See her entire summer planned visually, apply everywhere in seconds, and never re-enter the same data twice.
Multi-child vault Calendar planner One-click apply Cost tracking Gap detection
👨
Derek — The Time-Strapped Parent
Single parent • Hourly worker • Mobile-first
Single parent of one child (age 7), works hourly. Can only research camps during lunch breaks on his phone. Currently defaults to the Parks Department program because it's the only one he can find easily. Aware that better options exist but lacks time and information access.
Information asymmetry — higher-quality camps aren't visible to him
Can't complete long registration forms on mobile during a 30-minute lunch break
Doesn't know which scholarships or subsidies his child qualifies for
Find and successfully book a quality camp in 15 minutes on his phone, ideally one that fits his budget or qualifies for aid.
Mobile-first UX Scholarship badge Price filter Fast apply No-login search
👩‍🏫
Sonia — The Intentional Parent
Parent of 2 • Educator • Research-driven
Parent of 2 (ages 5 and 10) with an educator background. Cares deeply about camp quality, alignment with her children's developmental needs, inclusion practices, and staff experience. Reads reviews, visits camps in person, and asks other parents in her network. High tech comfort, methodical researcher.
No centralized, trustworthy reviews from verified camp parents
Can't filter for camps by values, special needs accommodation, or curriculum approach
Information scattered across multiple sources with no way to compare
Find camps that are the right fit for each child's specific needs and personality — not just logistically convenient or cheap.
Verified reviews Detailed filters Camp profiles Special needs filter Comparison
🌳
Marcus — The Camp Director
Mid-size nature camp • 150 campers/yr • Low-medium tech
Runs a mid-size nature-based day camp with approximately 150 campers per summer. Uses CampMinder (~$5K/year) and a WordPress website. Has a part-time registrar who handles enrollment manually. Customer acquisition relies almost entirely on word-of-mouth.
Customer acquisition is expensive and inefficient — no digital marketing expertise
Registration UX is outdated and embarrassing; parents complain about the forms
No visibility into enrollment pipeline or analytics — always uncertain about fill rates
Fill all sessions with qualified campers, reduce administrative overhead, and project a professional digital presence without needing a developer.
Listing management Application inbox Session/capacity mgmt Analytics Messaging
4

Functional Requirements

All functional requirements include a unique identifier, priority level, user story, description, and acceptance criteria. Priority levels follow the P0–P3 system defined in the legend above.

4.1 Camp Discovery & Search

"As Derek, I want to search for camps near me by location and date on my phone, so that I can find an affordable option in the 20 minutes I have during my lunch break."
ID Priority Requirement Acceptance Criteria
FR-001 P0 Location Search
Search camps by zip code with configurable radius: 5, 10, 25, 50 miles.
  • Zip code input accepts any valid 5-digit US zip code
  • Radius selector defaults to 10 miles; options: 5, 10, 25, 50 mi
  • Results update within 500ms of radius change
  • Invalid zip codes display an inline validation error
  • Results count reflects the selected radius
FR-002 P0 Age Filter
Filter camps by child's age (single age or range: e.g., ages 6–12).
  • Filter accepts a single age or a min–max range
  • Only camps whose age range includes the selected age are returned
  • Filter is pre-populated from selected child profile if logged in
FR-003 P0 Date Range Filter
Filter camps by availability within a specific date range (e.g., July 8–July 12).
  • Date picker accepts any start + end date
  • Returns only camps with sessions that overlap the selected range
  • Date range can be specified as full weeks or specific days
FR-004 P0 Camp Type Filter
Multi-select filter by camp type category.
  • Categories: Sports, STEM, Arts, Nature, Academic, Special Needs, General
  • Multiple categories can be selected simultaneously (OR logic)
  • Category counts reflect available results
FR-005 P0 Schedule Filter
Filter by schedule format: Full Day, Half Day AM, Half Day PM.
  • Three mutually exclusive options plus "Any"
  • Full Day defined as 7+ hours; Half Day defined as <4.5 hours
  • Filter removes camps that don't match selected format
FR-006 P0 Price Range Filter
Price slider from $0 to $1,000+ per week.
  • Dual-handle slider: min $0, max $1,000 (camps over $1K shown as "$1,000+")
  • Results update within 300ms of slider interaction
  • Current range is displayed as text (e.g., "$200 – $600/wk")
FR-007 P0 Sort Options
Sort search results by relevance, price (low–high, high–low), rating, and distance.
  • Default sort: relevance (based on filter match score)
  • Sort selection is preserved across filter changes
  • Results reorder within 300ms of sort change
FR-008 P0 Map + List Split View
Desktop search results display as a side-by-side map and scrollable list.
  • Map and list are synchronized: hovering a card highlights the map pin
  • Clicking a map pin highlights and scrolls to the corresponding card
  • Split view collapses to list-only on screens <768px
  • Map supports zoom, pan, and clustering for dense results
FR-009 P0 Camp Result Cards
Each result card displays key camp information in a scannable format.
  • Card displays: camp name, hero photo, location, price (per week), age range, camp type badge, star rating, nearest session date
  • Cards link to the camp detail page
  • Favoriting is accessible directly from the card
  • Scholarship badge displayed if camp offers financial aid
FR-010 P0 Unauthenticated Search
Full search and browse functionality available without creating an account.
  • All search, filter, and sort functions work without a login
  • Camp detail pages are fully visible without login
  • Login/signup prompt appears only at the point of applying or favoriting
  • Search state is preserved through the auth flow (progressive disclosure)
FR-011 P0 Scholarship/Subsidy Filter
Dedicated filter to show only camps offering financial aid, scholarships, or subsidy acceptance.
  • Single-toggle filter "Financial Aid Available"
  • Camps with scholarship programs display a badge on their card and detail page
  • Filter returns all camps that have any financial aid option configured
FR-012 P0 Mobile-First Search
The full search experience is optimized for mobile screens (375px+).
  • Filters accessible via a bottom sheet or modal on mobile
  • Camp cards are full-width on mobile with touch-friendly tap targets (≥44px)
  • No horizontal scroll on mobile screens
  • Map view is optional/collapsible on mobile

4.2 Camp Detail Pages

"As Sonia, I want to read detailed information about a camp's philosophy, activities, and parent reviews, so that I can confidently determine if it's the right fit for my 10-year-old."
ID Priority Requirement Acceptance Criteria
FR-013 P0 Core Camp Information
Display camp name, full description, and photo gallery.
  • Gallery supports 1–20 photos with lightbox view
  • Description supports up to 2,000 characters
  • Page includes Open Graph metadata for social sharing
FR-014 P0 Schedule & Activities
Display typical weekly schedule and daily activity breakdown.
  • Schedule displayed as structured days (Mon–Fri) with activity blocks
  • Director can configure schedule via the Camp Director Portal
  • Renders correctly on mobile without horizontal scroll
FR-015 P0 Sessions & Availability
List all available sessions with dates, duration, cost, and remaining spots.
  • Each session shows: start date, end date, days of week, price, and spots remaining
  • Sessions with 0 spots show "Waitlist" CTA instead of "Apply"
  • Sessions with ≤5 spots show "Only X spots left" urgency indicator
  • Past sessions are hidden by default; accessible via "Show past sessions"
FR-016 P0 Pricing & Discounts
Display full pricing with any early bird rates, multi-sibling discounts, or financial aid notes.
  • Base price displayed per week and per session
  • Active discounts shown with expiration date if applicable
  • Financial aid availability linked to a modal with details
FR-017 P0 Camp Credentials
Display age range, camper:counselor ratio, years in operation, and accreditations.
  • Key stats displayed in a scannable "stat bar" at the top of the page
  • All fields optional on camp configuration but displayed if provided
FR-018 P0 Location & Directions
Display address, embedded map, and distance from user's search location.
  • Google Maps embed shows exact camp location
  • Distance shown relative to the user's most recent search zip code
  • "Get directions" link opens Google Maps in a new tab
FR-019 P0 Reviews & Ratings
Display aggregated star rating and individual parent reviews on the camp detail page.
  • Average star rating (1–5) displayed prominently
  • Review count displayed alongside rating
  • Individual reviews show: reviewer first name + last initial, date, text, rating
  • Reviews sorted by recency by default
FR-020 P0 Apply CTA
Prominent "Apply with OneSummer" button anchored to the session selector.
  • Apply button is visible without scrolling on desktop (sticky booking card)
  • Clicking Apply initiates the application flow for the selected session
  • If no session is selected, Apply button triggers session selection
  • Unauthenticated users are prompted to sign in/up before proceeding
FR-021 P0 Save / Favorite
Parents can save a camp to a favorites list for later review.
  • Heart/bookmark icon present on camp cards and detail pages
  • Saved camps accessible from the parent dashboard
  • Toggle save/unsave in a single tap/click
  • Saved state is persisted across sessions
FR-022 P1 Similar Camps
Display a "You might also like" section with algorithmically similar camps at the bottom of the detail page.
  • 3–6 similar camps displayed based on: type, location, age range, price range
  • Section only renders if 2+ similar camps exist
  • Each recommendation links to that camp's detail page

4.3 Child Profile Vault

"As Lisa, I want to enter my three children's information one time and have it automatically populate every camp application, so I never spend 45 minutes filling in the same emergency contacts again."
🔒
Security Note

The Child Profile Vault stores sensitive health and personal information about minors. All data in this section is subject to the most stringent security and privacy controls. See Section 5.2 for full NFR security requirements.

ID Priority Requirement Acceptance Criteria
FR-023 P0 Child Basic Info
Create and manage a child profile with fundamental biographical information.
  • Fields: legal first name, preferred name, last name, date of birth, gender (with "prefer not to say" and free text options), grade, school name, t-shirt size
  • Age is auto-calculated from DOB
  • Profile photo upload (optional, stored securely)
  • Required fields are clearly marked; form validates before save
FR-024 P0 Emergency Contacts
Store multiple emergency contacts with full contact details and relationship.
  • Minimum 1 required; supports up to 10
  • Fields: full name, relationship, primary phone, secondary phone, email
  • Contacts are ordered by priority (draggable reorder)
  • Flag one contact as "Do Not Release To"
FR-025 P0 Medical Information
Store comprehensive medical information including allergies, medications, and conditions.
  • Allergies: name, type (food/environmental/medication/insect), severity (mild/moderate/severe/anaphylactic), reaction description, treatment
  • Medications: name, dosage, frequency, administration instructions, requires camp administration flag
  • Medical conditions: name, description, management instructions
  • Dietary restrictions (separate from allergies): checkboxes + free text
  • Tetanus date, last physical date
  • "None" option for each category to explicitly indicate no conditions
FR-026 P0 Insurance Information
Store health insurance details for use in camp medical intake forms.
  • Fields: insurance provider, policy number, group number, subscriber name, subscriber relationship to child
  • Optional: upload insurance card (front and back)
  • Insurance card images stored encrypted and not indexed
FR-027 P0 Physician Information
Store primary care physician contact information.
  • Fields: physician name, practice name, address, phone, fax
  • Optional field; not required to complete profile
FR-028 P0 Authorized Pickup Persons
Maintain a list of individuals authorized to pick up the child from camp.
  • Fields: full name, relationship, phone, photo (optional)
  • Distinct list from emergency contacts (a person can be in both)
  • Minimum 1 required (parent auto-populated)
  • "Not on list" section for individuals explicitly not permitted
FR-029 P0 Child Notes & Preferences
Free-text area for parents to describe their child in a way that helps camps understand them.
  • 2,000-character free text field labeled "About [child's name]"
  • Placeholder text prompts for: personality, interests, social preferences, known triggers, anything camps should know
  • Optional field; does not affect completeness percentage
FR-030 P0 Document Upload & Storage
Upload and store key documents that camps typically require.
  • Supported document types: Physical Exam, Immunization Records, Insurance Card, Photo ID, Signed Permission Forms, Custom
  • Accepted formats: PDF, JPG, PNG (max 10MB per file)
  • Documents stored with AES-256 encryption at rest
  • Parent can add a label, description, and expiration date to each document
  • Documents can be viewed/downloaded by the parent at any time
FR-031 P0 Document Expiration Tracking
Track expiration dates for documents and notify parents before they expire.
  • Documents with expiration dates show a status: Valid / Expiring Soon / Expired
  • "Expiring Soon" threshold: 60 days before expiration
  • Email notification sent 60 days and 14 days before expiration
  • Expired documents are flagged visually in the vault and on the dashboard
FR-032 P0 Profile Completeness Indicator
Display a percentage-based completeness score with specific missing items highlighted.
  • Completeness score displayed as a percentage (0–100%) and a progress ring
  • Score is calculated from weighted required fields (medical > basic info > documents)
  • Clicking the indicator reveals a checklist of specific missing items
  • Each item in the checklist links directly to the relevant form section
  • Profile with ≥80% completeness qualifies for "auto-fill" badge
FR-033 P0 Multi-Child Support
A parent account can manage profiles for multiple children.
  • No hard limit on number of child profiles per account (soft limit: 10)
  • Child selector present in all relevant flows (search, apply, calendar)
  • Profiles are visually differentiated by color or avatar
  • Shared data (emergency contacts) can be linked across children
FR-034 P0 Data Encryption
All vault data is encrypted at rest and in transit.
  • All data at rest encrypted with AES-256
  • All data in transit over TLS 1.3 or higher
  • Encryption keys managed separately from application data
  • Audit log records every access to PII fields

4.4 Application / One-Click Apply

"As Lisa, I want to apply to a camp by confirming my pre-filled profile data and hitting Submit, so that a 30-minute process takes 30 seconds."
ID Priority Requirement Acceptance Criteria
FR-035 P1 Auto-Fill from Vault
Camp application forms are pre-populated from the selected child's profile vault data.
  • All standard fields (name, DOB, emergency contacts, medical info, insurance) are auto-populated from vault
  • Parent reviews pre-filled data before submission — no silent auto-submit
  • Auto-fill only applies to fields covered by the vault data model
  • Profile completeness <60% triggers a prompt to complete the vault first
FR-036 P1 Auto-Fill Indicators
Visual distinction between auto-filled and manually entered fields.
  • Auto-filled fields display a subtle indicator icon (e.g., vault/lock icon)
  • Manual overrides are clearly marked as modified
  • Override values do not update the vault (application-specific changes are isolated)
FR-037 P1 Camp Supplement Questions
Camps can add custom questions to the application that are specific to their program.
  • Supplement questions appear as a distinct section after the auto-filled section
  • Question types: short text, long text, single select, multi-select, yes/no, file upload
  • Camp can mark questions as required or optional
  • Maximum 20 supplement questions per application
FR-038 P1 Document Attachment
Parent can select documents from the vault to attach to the application.
  • Vault documents are listed with their type, name, and expiration status
  • Parent selects which documents to share with this specific camp
  • Expired documents display a warning before attachment
  • Camp can specify which document types are required
FR-039 P1 Application Review Step
A review/confirmation screen before final submission.
  • Review screen shows a complete summary: camp name, session dates, child, all data fields, attached documents
  • Each section has an "Edit" link back to that step
  • Consent checkbox required: "I confirm this information is accurate"
  • Submit button is disabled until consent is checked
FR-040 P1 Application Status Tracking
Parents can track the real-time status of every application.
  • Statuses: Submitted, Under Review, Accepted, Waitlisted, Declined, Withdrawn
  • Status visible from the parent dashboard and application detail page
  • Status changes trigger an email notification (see FR-069)
  • Timestamps recorded for every status change
FR-041 P1 Application History
A complete, searchable record of all past and current applications across all children.
  • Accessible from parent dashboard under "Applications"
  • Filterable by child, status, year, and camp name
  • Past applications (previous seasons) are archived but accessible
  • Applications are never automatically deleted from history
FR-042 P1 Standardized Application Format
OneSummer defines a canonical application schema that all participating camps must accept.
  • Canonical schema covers: child info, emergency contacts, medical info, insurance, authorized pickups, parent contact, document attachments
  • Schema is versioned; camps are notified of schema updates
  • Camps cannot remove required standard fields, only add supplements

4.5 Summer Calendar Planner

"As Lisa, I want to see my entire summer laid out in a visual calendar with all three kids' camps color-coded, so I can instantly see gaps, conflicts, and total costs."
ID Priority Requirement Acceptance Criteria
FR-043 P1 Visual Calendar View
Weekly and monthly calendar view of planned and confirmed camps.
  • Toggle between weekly and monthly view
  • Default view: monthly, starting from current date
  • Confirmed and planned (not yet applied) camps visually distinct
  • Summer scope: May – September (configurable)
FR-044 P1 Multi-Child Swim Lanes
Each child's camps displayed in a distinct color-coded row/lane.
  • Each child assigned a distinct color (up to 8 children simultaneously)
  • Child names/avatars displayed as lane headers
  • Color assignments are persistent and user-configurable
  • Individual children can be toggled on/off for focused view
FR-045 P1 Drag-to-Plan
Parents can drag a camp from search results onto the calendar to plan their summer before applying.
  • Camp can be dragged from search or a favorites list onto a week
  • Planned (not applied) camps shown with a visual indicator (dashed border, softer color)
  • Clicking a planned camp offers "Apply Now" and "Remove" options
  • Works on touch devices (long-press to drag)
FR-046 P1 Conflict Detection
Automatically detect and flag scheduling conflicts and age mismatches.
  • Overlapping sessions for the same child are flagged with a visual warning
  • Age mismatch (child's age outside camp's accepted range) triggers an alert
  • Warning includes specific conflict detail (dates, camp names)
  • Parent can acknowledge and keep the conflict ("I understand") or resolve it
FR-047 P1 Gap Detection
Visually highlight weeks with no camp coverage for a given child.
  • Empty weeks (within the defined summer scope) are highlighted in a distinct color
  • Gap detection is per-child
  • Gap weeks display a "No camp this week" label
  • See FR-050 for the "find camps for this gap" action
FR-048 P1 Cost Summary
Display per-week and total summer cost estimates based on planned and confirmed camps.
  • Weekly cost shown in the header of each week column
  • Total summer cost displayed in a summary bar above the calendar
  • Cost broken down per child in the summary
  • Planned camps (not yet confirmed) included with a "(est.)" label
FR-049 P1 Coverage Percentage
Display the percentage of summer weeks covered for each child.
  • Coverage = weeks with a confirmed or planned camp / total summer weeks
  • Displayed per child as a percentage and a progress bar
  • Summer scope configurable by parent (default: June 16 – August 22)
FR-050 P1 Gap Fill Action
One-click action from a gap week to find camps available that specific week.
  • Clicking a gap week's "Find camps" button opens search pre-filtered to: that week's dates + child's age + saved location
  • Search results are directly actionable (add to calendar from results)

4.6 Parent Dashboard

"As Lisa, I want a command center that shows me everything I need to act on — upcoming camps, pending applications, expiring documents — all in one place."
ID Priority Requirement Acceptance Criteria
FR-051 P1 Summer-at-a-Glance
Top-of-dashboard overview showing upcoming camps, pending applications, and waitlist positions.
  • Next upcoming camp shown prominently with days-until countdown
  • Pending application count shown with status breakdown
  • Waitlist positions shown for each waitlisted application
FR-052 P1 Action Items
A prioritized list of things the parent needs to do (expiring docs, incomplete profiles, waitlist decisions).
  • Action items sorted by urgency (due date / impact)
  • Each item includes a one-click action button
  • Dismissed action items are hidden (but accessible)
  • Empty state: celebratory "You're all caught up!" message
FR-053 P1 Per-Child Summary Tiles
A summary card for each child showing their profile status, planned camps, and applications.
  • One tile per child
  • Tile shows: profile completeness %, number of planned camps, application status summary, savings tracker
  • Clicking a tile navigates to that child's detailed view
FR-054 P1 Recent Activity Feed
Chronological feed of recent account activity.
  • Events: application submitted, status changed, document uploaded, camp saved, review posted
  • Most recent 20 events displayed; older events paginated
  • Each event includes a timestamp and a link to the relevant item
FR-055 P1 Scholarship Tracker
Visibility into financial aid applications and available scholarships.
  • Lists all scholarship applications and their status
  • Surfaces new scholarship opportunities matching the parent's profile and saved camps
  • Shows estimated savings from applied financial aid
FR-056 P1 Quick Actions
Prominent shortcut buttons for the most common tasks.
  • Quick actions: Find Camps, Upload Document, Manage Contacts, View Calendar
  • Actions are contextual — e.g., "Upload Expiring Physical" if one is due
  • Quick actions visible without scrolling on desktop

4.7 Reviews & Ratings

"As Sonia, I want to read honest, verified reviews from parents whose children actually attended the camp, so I can make a confident decision without relying on word of mouth."
ID Priority Requirement Acceptance Criteria
FR-057 P2 Post-Camp Reviews
Parents can submit a star rating and text review after their child attends a camp.
  • Review prompt sent via email 3 days after a camp session ends
  • Review includes: overall star rating (1–5), text review (50–1,500 chars), sub-ratings for: Safety, Value, Activities, Staff, Communication
  • Parent can only review a camp once per attended session per child
  • Review is not published until moderated (FR-058)
FR-058 P2 Review Moderation
All reviews are moderated before publication to prevent abuse.
  • New reviews enter a "Pending Moderation" queue
  • Automated screening flags: profanity, PII, promotional language
  • Human review for flagged items within 72 hours
  • Auto-approve reviews passing automated checks (target: 80%+ auto-approval rate)
  • Camp directors can flag reviews for re-review but cannot delete them
FR-059 P2 Camp Journal
Private, parent-only notes per camp session per child.
  • Journal is private — never visible to the camp or other users
  • Parent can add text notes and photo memories
  • Accessible from application history and the child's profile
  • Searchable by camp name and year
FR-060 P2 Rating Breakdown Visualization
Visual breakdown of sub-category ratings on the camp detail page.
  • Bar chart showing distribution for: Safety, Value, Activities, Staff, Communication
  • Minimum 3 reviews required before breakdown is displayed
  • Overall average updates in real time as new reviews are published
FR-061 P2 Verified Review Badge
Reviews from parents with confirmed attendance are marked as "Verified Attendee."
  • Verification based on: application status = Accepted AND session end date has passed
  • "Verified Attendee" badge displayed on qualifying reviews
  • Unverified reviews are still accepted but visually distinct
  • Filter option on camp detail page: "Show verified reviews only"

4.8 Camp Director Portal

"As Marcus, I want to manage my camp listing, view and respond to applications, and see how many spots I have left in each session — all from a simple dashboard."
ID Priority Requirement Acceptance Criteria
FR-062 P2 Camp Listing Management
Directors can create, edit, and preview their camp listing.
  • Listing editor: name, description, photos (up to 20), type, age range, location, schedule, counselor ratio, accreditations
  • Preview mode shows exactly how the listing appears to parents
  • Listings require approval before going live (initial listing only)
  • Edits to non-critical fields (photos, description) publish immediately
  • Draft/published status toggle
FR-063 P2 Session & Capacity Management
Directors manage sessions (dates, capacity, pricing) within their listing.
  • Create/edit/delete sessions: start date, end date, days of week, total capacity, price
  • Real-time capacity counter (total - accepted applications = available spots)
  • Sessions can be set to "Enrollment Open," "Waitlist Only," or "Closed"
  • Bulk session creation for recurring weekly sessions
FR-064 P2 Application Inbox
Directors receive, review, and action incoming applications.
  • Inbox displays all applications with: child name (first name only until accepted), session, submission date, current status
  • Director can: Accept, Waitlist, Decline, or Request More Info
  • Status changes trigger automated parent notification (FR-069)
  • Accepted applications reveal full child profile and documents
  • Bulk actions: accept/decline multiple applications
FR-065 P2 Analytics Dashboard
Basic analytics showing listing performance and enrollment funnel.
  • Metrics: listing views, saves (favorites), applications received, acceptance rate, enrollment fill %
  • Time-series charts for views and applications over 30/90/365 days
  • Session-by-session enrollment status table
  • Exportable as CSV
FR-066 P2 Messaging
In-platform messaging between directors and parents.
  • Threaded message inbox within the director portal
  • Messages tied to a specific application
  • Email notification for new messages (both parties)
  • Message history preserved with the application record
FR-067 P2 Custom Supplement Question Builder
Directors can create custom questions to add to their application.
  • Question types: short text, paragraph, single choice, multiple choice, yes/no, file upload
  • Questions can be marked required or optional
  • Question order is draggable
  • Maximum 20 supplement questions per camp
  • Changes take effect on new applications (not retroactively)
FR-068 P2 Scholarship & Financial Aid Configuration
Directors can configure financial aid programs for their camp.
  • Director configures: aid type (scholarship, needs-based, sliding scale, subsidy acceptance), available amount or percentage, eligibility criteria description, application process
  • Configured aid options appear on the camp's detail page and search filter
  • Aid availability can be toggled on/off by session

4.9 Notifications

ID Priority Notification Event Trigger Channel
FR-069 P1 Application Status Change Director changes application status (Accepted, Waitlisted, Declined) Email + in-app
FR-070 P1 Waitlist Position Update Parent moves up or down on a waitlist; spot becomes available Email + in-app + push
FR-071 P1 Registration Opening Reminder Saved camp opens registration (48hr and 1hr before opening) Email + push
FR-072 P1 Document Expiration Reminder Document expiration date is 60 days and 14 days away Email + in-app
FR-073 P1 Push Notifications Any notification trigger (subject to user opt-in) Browser push (PWA)
Notification Preferences

All notification channels are configurable per-user in account settings. Users can opt out of individual notification types. The system must respect opt-out preferences immediately upon change. Push notifications require explicit browser permission grant and must not be requested until a user has demonstrated meaningful engagement (2+ sessions or first application submitted).

4.10 Waitlist Management

ID Priority Requirement Acceptance Criteria
FR-074 P2 Waitlist Position Visibility
Parents see their current position on each waitlist.
  • Position displayed as an ordinal number (e.g., "#3 on the waitlist")
  • Position visible on the dashboard, application detail page, and in notifications
  • Position updates in real time (or near-real-time; within 5 min)
FR-075 P2 Auto-Offer on Spot Opening
When a spot opens, the next person on the waitlist receives an offer with a response deadline.
  • Offer notification sent within 5 minutes of spot opening
  • Offer includes a deadline to respond (configurable by camp: 24–72 hours)
  • If offer expires without response, it advances to the next waitlisted applicant
  • Parent can accept or decline the offer from the notification or dashboard
FR-076 P2 Waitlist Conflict Detection
When a waitlisted spot becomes available, flag if it conflicts with a confirmed camp.
  • Auto-offer includes a conflict warning if the offered session overlaps with a confirmed camp for the same child
  • Conflict shown inline in the offer notification and decision screen
  • Parent must explicitly acknowledge the conflict to accept
FR-077 P3 Cancellation Fee Modeling
Display and model any applicable cancellation fees before a parent withdraws from a confirmed spot.
  • Camp configures cancellation policy (full refund window, partial refund tiers, no refund date)
  • Before withdrawing, parent sees the estimated refund based on current date
  • Cancellation confirmation requires acknowledgment of fee
5

Non-Functional Requirements

Performance
Largest Contentful Paint (LCP) < 2.0s
First Input Delay (FID) < 100ms
Cumulative Layout Shift (CLS) < 0.1
Search results load < 500ms
Application submit confirmation < 2s
Document upload (10MB) < 30s
🔒
Security & Compliance
COPPA compliance Required
CCPA / CPRA compliance Required
Data encryption at rest AES-256
Data in transit TLS 1.3+
SOC 2 Type II Target: Year 2
PII audit logging All access
Penetration testing Annual
Availability & Reliability
Uptime SLA (peak season) 99.9%
Uptime SLA (off-season) 99.5%
Peak season defined Feb – May
Recovery Time Objective (RTO) < 4 hours
Recovery Point Objective (RPO) < 1 hour
Scheduled maintenance window Tue 2–4 AM ET
📈
Scalability
Concurrent users (peak) 50,000
Applications per hour (surge) 10,000
Total child profiles 500,000+
Camp listings 100,000+
Document storage 10+ TB
Architecture Auto-scaling
Accessibility
WCAG standard 2.1 AA
Screen reader support NVDA, VoiceOver
Keyboard navigation Full coverage
Color contrast ratio ≥ 4.5:1 (AA)
Focus indicators Visible always
Alt text for images Required
📱
Compatibility
Chrome Last 2 versions
Safari (macOS + iOS) Last 2 versions
Firefox Last 2 versions
Edge Last 2 versions
Android Chrome Last 2 versions
Viewport support 375px – 1440px+
COPPA Compliance Note

OneSummer collects and stores personal information about children under 13. This triggers full COPPA obligations. The platform must implement verifiable parental consent (VPC), not collect information directly from children, provide parents with rights to review and delete data, and maintain a clearly accessible privacy policy. Legal counsel must sign off on the consent flow before launch. This is a hard launch blocker.

6

Data Requirements

6.1 Core Data Model

The following entities form the foundation of the OneSummer data model. Relationships are described in the association table below. Full schema definitions are the responsibility of Engineering in the Technical Design Document.

Parent (Account)
idUUIDPK
emailstringunique, indexed
password_hashstringbcrypt
first_namestring
last_namestring
phonestring
zip_codestringdefault search location
created_attimestamp
email_verifiedboolean
notification_prefsjsonb
Child (Profile)
idUUIDPK
parent_idUUIDFK → Parent
first_namestring
last_namestring
date_of_birthdate
genderstring
gradeint
schoolstring
tshirt_sizeenum
medical_infojsonbencrypted
emergency_contactsjsonbencrypted
insurancejsonbencrypted
authorized_pickupsjsonbencrypted
notestextencrypted
color_labelstringfor calendar
Camp (Listing)
idUUIDPK
director_idUUIDFK → Director
namestring
descriptiontext
camp_typeenum[]
age_minint
age_maxint
addressstring
lat, lngfloatgeocoded
schedule_typeenum
counselor_ratiostring
avg_ratingfloatcomputed
statusenumdraft/live/archived
has_financial_aidbooleanindexed
Session
idUUIDPK
camp_idUUIDFK → Camp
start_datedate
end_datedate
days_of_weekint[]
capacityint
spots_availableintcomputed
price_centsint
enrollment_statusenum
registration_opens_attimestamp
Application
idUUIDPK
child_idUUIDFK → Child
session_idUUIDFK → Session
parent_idUUIDFK → Parent
statusenumindexed
submitted_attimestamp
profile_snapshotjsonbimmutable copy at submission
supplement_answersjsonb
attached_doc_idsUUID[]
waitlist_positionintnullable
Document
idUUIDPK
child_idUUIDFK → Child
doc_typeenum
labelstring
s3_keystringencrypted
file_size_bytesint
mime_typestring
expires_ondatenullable
uploaded_attimestamp
Review
idUUIDPK
camp_idUUIDFK → Camp
parent_idUUIDFK → Parent
application_idUUIDfor verification
rating_overallint1–5
ratings_detailjsonbsub-category ratings
bodytext
is_verifiedboolean
moderation_statusenum
created_attimestamp
Relationship Type Notes
Parent → Child One-to-many One parent account can have multiple child profiles
Camp → Session One-to-many Each camp can have multiple sessions per season
Child + Session → Application Many-to-many (via Application) A child can apply to multiple sessions; a session has many applications
Child → Document One-to-many Documents are owned by a child profile, not the application
Application → Document Many-to-many Applications reference vault documents (not copies, until accepted)
Parent + Camp → Review Many-to-many (via Review) One review per parent per camp per attended session

6.2 Data Privacy & Governance

Principle Requirement Implementation Notes
Data Ownership Parent is the sole owner of all child profile data Camps receive a read-only copy of consented data at the time of application acceptance, not ongoing access to the vault
Granular Consent Parent must explicitly consent to sharing each data category with each camp Consent UI presented per-camp at application time; consent log stored immutably
Right to Deletion Parent can request deletion of all account and child data at any time Deletion process within 30 days; application records anonymized (not deleted) for camp compliance; audit log retained per legal requirements
Data Portability Parent can export all data in a machine-readable format (JSON) Export initiated from account settings; delivered via secure download link within 24 hours
Consent Audit Trail All consent actions are logged with timestamp, IP, user agent, and consent version Immutable append-only log; not editable by any user or admin
Data Minimization Only collect data that serves a documented purpose in this BRD New data fields require product sign-off and privacy review before implementation
Retention Policy Inactive account data purged after 3 years of inactivity (with 90-day notice) Legal hold exception for accounts involved in disputes
Camp Data Access Camps can only access data from applications submitted to them; no cross-camp data sharing Role-based access control enforced at the API layer; camps cannot enumerate users
7

Integration Requirements

💲
Stripe Connect
Payment processing for registration fees. Stripe Connect enables camp directors to receive payments directly to their accounts while OneSummer takes a platform fee.
V2.0
📍
Google Maps Platform
Geocoding for camp addresses, distance calculation for search radius filtering, and embedded maps on camp detail pages.
P0 — MVP
💌
SendGrid (Email)
Transactional email delivery for application status notifications, document reminders, registration alerts, and account management emails.
P0 — MVP
💾
AWS S3 (Encrypted)
Secure storage for uploaded documents (physicals, immunization records, insurance cards). Server-side encryption with customer-managed keys (SSE-KMS).
P0 — MVP
🔍
OCR Document Processing
Optical character recognition to extract data from uploaded documents (e.g., insurance cards, physicals) and pre-populate vault fields. Reduces manual data entry.
V2.0
🏕
CampMinder API
Two-way sync with CampMinder to allow camps already using the platform to import listings and receive applications without double-entry.
V2.0
🏕
CampDoc API
Integration with CampDoc (medical form management) to allow health forms submitted via OneSummer to sync to a camp's CampDoc instance.
V2.0
🔑
Auth Provider (Google/Apple SSO)
Social login options to reduce signup friction. Google and Apple SSO as login options alongside email/password.
P1 — V1.1
8

MVP Scope Definition

🎯
MVP Philosophy

The MVP must deliver the core value proposition — fill out your info once, find camps, apply quickly — to the Derek and Lisa personas. It should not try to be a complete product. Every deferred feature was a conscious decision to ship a great MVP faster rather than a mediocre full product later.

MVP (Launch) P0
Camp discovery & search (FR-001–012)
Camp detail pages (FR-013–021)
Child profile vault (FR-023–034)
Parent account creation & auth
Basic application flow (FR-035–042)
Application status tracking
Document upload & storage
Email transactional notifications
Google Maps integration
Scholarship/aid badge & filter
Camp favoriting
Mobile-first responsive design
V1.1 (Post-Launch) P1
Summer calendar planner (FR-043–050)
Parent dashboard (FR-051–056)
Multi-child swim lanes
Gap & conflict detection
Cost summary
Push notifications (browser)
Waitlist position tracking
Similar camp recommendations
Google/Apple SSO login
Registration opening reminders
V1.2 (Near-Term) P2
Reviews & ratings (FR-057–061)
Camp director portal (FR-062–068)
Application inbox for directors
Analytics dashboard for directors
In-platform messaging
Waitlist auto-offer (FR-075–076)
Supplement question builder
Financial aid configuration
V2.0 (Future) P3
Stripe Connect payments
CampMinder / CampDoc API sync
OCR document processing
Advanced matching algorithm
Cancellation fee modeling (FR-077)
Camp journal (FR-059)
Native mobile apps (iOS/Android)
Marketplace / paid camp listings
Parent community features
API for 3rd-party integrations

MVP Definition of Done

The MVP is considered ready for public launch when all of the following conditions are met:

# Condition Verification Method
1 All P0 functional requirements implemented and passing acceptance criteria QA sign-off checklist
2 COPPA compliance verified by Legal counsel Legal sign-off letter
3 WCAG 2.1 AA audit passed with zero critical violations Automated scan + manual audit
4 Performance: LCP < 2s on 4G mobile (Lighthouse ≥ 80) Lighthouse CI report
5 Security: Penetration test completed with no critical findings unresolved Pentest report
6 50+ camp listings live at launch Camp partnerships team confirmation
7 End-to-end application flow validated by 10+ parent beta testers Beta test session recordings + NPS ≥ 40
8 Privacy policy and Terms of Service reviewed and published Legal sign-off
9 Data backup and recovery procedures tested and documented DR drill report
10 Error monitoring, logging, and alerting configured and verified Engineering sign-off
9

Assumptions & Constraints

Assumptions

The following assumptions underlie this requirements document. If any assumption proves false, affected requirements must be re-evaluated.

  • A1
    Camp Participation is Voluntary for MVP. We assume camps will join the platform voluntarily (initially at no cost) in exchange for discovery and enrollment benefits. The MVP does not depend on payment processing or formal data-sharing agreements, which will be addressed in V2.0.
  • A2
    Parents Own the Application Relationship. We assume the primary user completing the application is a parent or legal guardian, not the camper. The platform is designed around an adult initiating all interactions on behalf of a minor.
  • A3
    Camp Application Data is Largely Standardized. We assume that 80%+ of the information camps need from applicants maps to our standard vault schema, making auto-fill meaningful. Camp-specific supplements handle the remaining 20%. If this assumption proves false, auto-fill value drops significantly.
  • A4
    US-Only for MVP. All search, compliance, and operational assumptions are US-specific. International expansion is not in scope for V1.x.
  • A5
    No Payment Processing in MVP. The MVP facilitates applications and information exchange only. Financial transactions happen off-platform in MVP. Stripe Connect integration is deferred to V2.0.
  • A6
    Camp Data Seeding Required at Launch. We assume the team will manually onboard initial camp listings for the launch market. Self-service listing management (Camp Director Portal) is V1.2; launch listings will be entered by staff or via a structured data import process.
  • A7
    Email as Primary Notification Channel. We assume the majority of target users check email regularly and that email is the most reliable notification channel for MVP. Push notification investment is V1.1.
  • A8
    Parents Will Trust the Platform with Sensitive Health Data. We assume that if the platform clearly communicates its security practices, privacy controls, and the "fill once, use everywhere" value proposition, parents will be willing to store medical and personal information. Trust-building through design and transparency is a core product responsibility.
  • A9
    Registration Season is Concentrated. We assume the primary registration season (Feb–May) creates predictable load spikes, enabling the engineering team to plan infrastructure scaling proactively rather than reactively.
  • A10
    Responsive Web Covers Mobile Use Case for MVP. We assume a well-executed mobile-first web experience satisfies Derek's use case without requiring native apps. Native app development is deferred to V2.0.

Constraints

Type Constraint Impact
Legal COPPA compliance is non-negotiable and cannot be deferred. The platform cannot launch until Legal sign-off is obtained. High — potential blocking constraint on launch timeline
Legal Health data (medical conditions, medications) must be treated as HIPAA-adjacent even if the platform is not a covered entity. This constrains storage architecture and access controls. High — impacts data model and vendor selection
Technical The MVP must be a web application, not a native mobile app. Budget and timeline do not support native app development for V1.x. Medium — design must compensate via responsive web excellence
Technical All PII and health data must be stored in the United States. International data residency is not in scope. Medium — constrains cloud provider region selection
Business The MVP must be available before February (peak registration season start) to capture the primary market window. High — creates a hard deadline constraint on scope
Business Camp listings cannot display pricing or registration data that camps have not explicitly authorized. Scraping camp data without permission is prohibited. Medium — requires partnership agreements before listing camps
Design The platform must be WCAG 2.1 AA compliant at launch. Accessibility cannot be treated as a post-launch enhancement. Medium — must be incorporated into design and QA processes from day one
10

Success Criteria

Launch Success (Day 0 – Month 3)
MVP Definition of Done met
All 10 DoD criteria from Section 8 passed before public launch
🏕
Launch Camp Count
Target: ≥ 50 camps live at public launch; 200+ by month 3
📊
Zero Critical Security Incidents in First 90 Days
No unauthorized access to child PII, no data breaches reported
Beta Parent NPS ≥ 40
Measured from beta cohort (minimum 50 parents) before public launch
Growth Success (Month 3 – Month 12)
👥
Registered Parent Accounts
Target: 10,000 by month 6; 50,000 by end of Year 1
Application Completion Time
Median time: < 90 seconds for profiles ≥ 80% complete; target < 30 seconds for complete profiles
📄
Applications Submitted
Target: 5,000 applications in first full season; 25,000 by end of Year 1
📈
Search-to-Application Conversion
Target: ≥ 8% of unique search sessions result in at least one application
🌟
Parent NPS (Ongoing)
Target: ≥ 55 NPS by end of Year 1 (world-class benchmark for consumer apps)
👌
Profile Completeness Rate
≥ 80% of active users (applied to at least one camp) have profiles ≥ 80% complete
🌏
Equity: Scholarship Connections
≥ 20% of families with household income < $75K view and engage with scholarship options
🏕
Camp Retention
< 5% monthly churn for actively listed camps; 80%+ of launch camps renew for Year 2
Qualitative Success Criteria
💬
Unsolicited Parent Testimonials
Parents proactively share the platform with other parents (measured via referral tracking and survey). "Viral loop" established.
🎯
Camp Director Satisfaction
Directors report the platform is easier to use than their current registration tool. Qualitative interviews target 4.0+ satisfaction score from directors.
📷
Organic Media Coverage
Platform covered by at least one parenting publication or education outlet within first 6 months of launch.
🙏
Equity Mission Validation
At least one measurable case study demonstrating a family accessing a camp they would not have found otherwise due to the platform's discovery and scholarship features.
11

Glossary

The following terms have specific meanings within this document and the OneSummer product.

Application

A parent's formal request to enroll a specific child in a specific session at a specific camp, submitted through the OneSummer platform using data from the Child Profile Vault.

Auto-Fill

The mechanism by which OneSummer populates a camp application form with data from the Child Profile Vault, eliminating redundant data entry across multiple camp applications.

Camp

An organized program offering supervised activities to children during the summer, including day camps, overnight camps, specialty programs (STEM, arts, sports), and academic programs.

Camp Director

An individual with administrative access to a camp's OneSummer listing. Responsible for managing sessions, reviewing applications, and maintaining the camp's profile on the platform.

Child Profile Vault

OneSummer's secure, centralized data store for a child's biographical, medical, insurance, emergency contact, and document information. Data is owned by the parent and shared with camps only upon explicit consent.

COPPA

Children's Online Privacy Protection Act. US federal law regulating the online collection of personal information from children under 13. Compliance is mandatory before launch.

Gap Detection

The Calendar Planner feature that identifies weeks within a parent's defined summer scope where a child has no planned or confirmed camp enrollment, prompting the parent to find coverage.

One-Click Apply

Marketing shorthand for the OneSummer application experience, where a parent with a complete Child Profile Vault can submit a camp application in under 30 seconds by confirming pre-filled data.

Parent

The adult account holder on OneSummer — either a biological parent, legal guardian, or other adult with responsibility for a child's enrollment. The entity that creates and owns Child Profile Vault data.

P0 / P1 / P2 / P3

Priority classification system used throughout this document. P0: must ship in MVP; P1: V1.1 next release; P2: V1.2 near-term; P3: future backlog.

Profile Completeness

A percentage score (0–100%) indicating how much of a Child Profile Vault has been filled out. Profiles ≥ 80% complete qualify for the full auto-fill experience.

Session

A specific, date-bounded enrollment slot at a camp. A single camp may offer multiple sessions in a summer (e.g., "Week 1: June 16–20", "Week 2: June 23–27"). Each session has its own capacity and price.

Scholarship / Financial Aid

Financial assistance programs that reduce or eliminate camp fees for qualifying families. May take the form of full or partial scholarships, sliding-scale pricing, needs-based grants, or public subsidy program acceptance.

Summer Scope

The date range a parent defines as their "summer" in the Calendar Planner. Used for gap detection and coverage calculation. Defaults to June 16 – August 22 but is user-configurable.

Supplement Questions

Camp-specific questions added by a Camp Director to their application, beyond the standardized OneSummer application schema. Examples: "Does your child swim independently?", "Which cabin group is preferred?"

Swim Lanes

In the Calendar Planner, color-coded horizontal rows representing each child's schedule. Allows parents managing multiple children to see each child's summer plan simultaneously without confusion.

Vault Snapshot

An immutable copy of a Child Profile Vault's data at the moment an application is submitted. The snapshot is stored with the application record so the camp sees exactly what was shared at submission time, even if the vault is later updated.

Verified Review

A review submitted by a parent whose child's application for that camp was accepted and whose session end date has passed, confirming actual attendance. Indicated by a "Verified Attendee" badge on the review.

Waitlist

A queue of applicants for a camp session that is at capacity. Waitlisted applicants are enrolled in the order they applied when spots become available.

WCAG 2.1 AA

Web Content Accessibility Guidelines version 2.1, Level AA. The accessibility standard OneSummer must meet at launch, covering perceivability, operability, understandability, and robustness for users with disabilities.