# The 10 filters — and how they're shown Filters are the product's core value ("filtered the way parents think"). Ten primary filters, ordered by how often a parent reaches for them. ## The 10 | # | Filter | Control | Why parents use it | Backend | |---|---|---|---|---| | 1 | **Distance** ("within X miles") | slider/select: 5 · 10 · 20 · 50 mi (needs location) | "how far is it with kids in the car?" | ✅ near+radius_km | | 2 | **Type** (farm, soft play, park, museum, beach, adventure…) | icon category bar (multi-select) | the "what kind of day" decision | ✅ category | | 3 | **Indoor / Outdoor** | segmented: Any · Indoor · Outdoor | the weather decision | ✅ indoor/outdoor | | 4 | **Child age** | chips: 0–2 · 3–4 · 5–8 · 9–12 · Teens (multi) | "will it suit MY kids?" | ✅ age | | 5 | **Price** | segmented: Any · Free · Under £10 · Under £20 | budget call | ✅ free/price_from | | 6 | **Buggy-friendly** | toggle | the Priya filter | ✅ buggy_friendly | | 7 | **Baby changing** | toggle | babies = non-negotiable | ✅ baby_changing | | 8 | **Parking** | toggle | arriving by car with kit | ✅ parking | | 9 | **Open now / open on day** | toggle + day picker ("open Sunday") | "can we actually go?" | ⏳ v1.5 (needs structured hours) | | 10 | **Rating** | 4★+ toggle (until reviews: "Most saved") | trust shortcut | ⏳ v2 (reviews) | **"More filters" drawer** (not in the 10, still available): accessibility / SEND-friendly, quiet times, dog-friendly, café on site, picnic allowed, toilets. Accessibility gets promoted as data coverage grows (Maya persona). ## How they're shown ### Mobile (primary) - **Quick-chip bar** (horizontally scrollable, always visible under search): `Indoor · Free · Buggy-friendly · Under 5s · Open now` + a **`Filters (3)`** button showing the active count. - Tapping **Filters** opens a **bottom sheet**: groups in the order above — segmented controls for Indoor/Price, chips for Age/Type, toggle rows with icons for the booleans, the distance slider with a live label ("within 10 miles · 23 places"). Sticky footer: **`Show 23 places`** + `Clear all`. - Active filters render as **removable chips** in the bar (tap ✕ to drop). ### Desktop Same chip bar; **Filters** opens a centred modal (same groups, two columns). ### Map view The same quick-chip bar floats over the map; the distance slider doubles as the **radius ring** around the parent's pin — pins outside the ring fade out. Results count updates live ("14 places within 10 miles"). ### Principles - Every filter change updates the URL (shareable, SSR-friendly). - Live result counts before applying (no dead-end zero-result surprises); zero-results suggests removing the most restrictive filter. - Filter state persists for the session; "kids' ages" (profile, v2) pre-sets the age filter automatically.