# SixFlagsSuperCalendar ## What This Is A personal website that consolidates theme park operating calendars into a single full-month grid view. Starting with all Six Flags parks scraped from their website, expanding to any theme park via configurable scraper adapters, and eventually becoming a trip planning engine that suggests nearby parks and estimates travel costs. ## Core Value One place to see every park's open days — so planning a trip takes seconds, not a dozen browser tabs. ## Requirements ### Validated (None yet — ship to validate) ### Active - [ ] Full month grid calendar showing open/closed days across all Six Flags parks - [ ] Web scraper pulls park hours from sixflags.com (URL pattern: `/{park}/park-hours?date=YYYY-MM-DD`) - [ ] Scraper adapter architecture so other park chains can be added with minimal new code - [ ] Any theme park can be added via manual configuration (URL pattern + scraper adapter) - [ ] Trip planner suggests nearby open parks given a target park and date range - [ ] Drive time shown between parks - [ ] Rough flight cost estimate via Google Flights for farther destinations ### Out of Scope - Booking / ticketing — just planning and discovery, not purchasing - User accounts — personal use, no auth needed - Real-time wait times or crowd levels — calendar/hours only - Mobile app — web-first ## Context - Six Flags park hours follow a consistent URL pattern: `https://www.sixflags.com/{park-slug}/park-hours?date=YYYY-MM-DD` - Other major theme park chains (Cedar Fair, Universal, Disney, Busch Gardens) have similar site structures — a reusable scraper base should cover most cases - Trip planning example: planning King's Dominion → surface Busch Gardens Williamsburg as a nearby park that's also open - Google Flights rough estimates (not bookable) are sufficient for V2 flight cost ## Constraints - **Data**: Web scraping — no official API, fragile to site redesigns; mitigate with adapter isolation so fixes are localized - **Audience**: Personal use only — no need for scalability, auth, or uptime SLAs - **Tech**: Website (browser-based); stack TBD during planning ## Key Decisions | Decision | Rationale | Outcome | |----------|-----------|---------| | Scrape over API | No public Six Flags API exists | — Pending | | Adapter pattern for scrapers | Different parks have different HTML; reuse parsing logic where possible | — Pending | | Personal use (no auth) | Just for the owner; no user management complexity | — Pending | ## Evolution This document evolves at phase transitions and milestone boundaries. **After each phase transition** (via `/gsd:transition`): 1. Requirements invalidated? → Move to Out of Scope with reason 2. Requirements validated? → Move to Validated with phase reference 3. New requirements emerged? → Add to Active 4. Decisions to log? → Add to Key Decisions 5. "What This Is" still accurate? → Update if drifted **After each milestone** (via `/gsd:complete-milestone`): 1. Full review of all sections 2. Core Value check — still the right priority? 3. Audit Out of Scope — reasons still valid? 4. Update Context with current state --- *Last updated: 2026-04-03 after initialization*