Skip to content

GET /resorts Peak Rankings filters (Issue #59)#88

Merged
jonathanstelman merged 1 commit intomainfrom
feature/59-peak-rankings-filters
Mar 21, 2026
Merged

GET /resorts Peak Rankings filters (Issue #59)#88
jonathanstelman merged 1 commit intomainfrom
feature/59-peak-rankings-filters

Conversation

@jonathanstelman
Copy link
Copy Markdown
Owner

Summary

  • Adds has_peak_rankings boolean filter (based on whether pr_total is non-null)
  • Adds pr_total_min/pr_total_max and per-category min/max range params for all 10 PR score dimensions
  • Adds pr_lodging, pr_apres_ski, pr_access_road, pr_ability_low, pr_ability_high multi-value categorical filters (same repeated-param pattern as region)
  • Adds pr_total and pr_overall_rank to ResortSummary response projection

Design decisions

  • All PR range filters exclude resorts with null PR data (consistent with numeric range behavior from GET /resorts endpoint — feature filters #57)
  • Categorical filters are case-insensitive
  • has_peak_rankings explicitly exposes the null check rather than relying on pr_total_min=1 as a proxy

Test plan

  • has_peak_rankings=true/false filters correctly
  • pr_total_min/max range works; null values excluded
  • Per-category range params work independently
  • Categorical params work with single and multiple values
  • Categorical filter excludes resorts with no PR data
  • All params compose with each other and with prior filters
  • pr_total and pr_overall_rank present in response
  • All 74 backend tests pass; pipeline tests unaffected; Black clean

Closes #59

🤖 Generated with Claude Code

- has_peak_rankings: boolean filter on whether pr_total is non-null
- pr_total_min/max and per-category min/max range params for all 10
  PR score dimensions (snow, resiliency, size, terrain_diversity,
  challenge, lifts, crowd_flow, facilities, navigation, mountain_aesthetic)
- pr_lodging, pr_apres_ski, pr_access_road, pr_ability_low, pr_ability_high
  multi-value categorical params (case-insensitive, same pattern as region)
- All range filters exclude resorts with null PR data
- pr_total and pr_overall_rank added to ResortSummary response projection
- 22 new tests covering all params and composability

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@jonathanstelman jonathanstelman merged commit 44aa314 into main Mar 21, 2026
6 checks passed
@jonathanstelman jonathanstelman deleted the feature/59-peak-rankings-filters branch March 21, 2026 22:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

GET /resorts endpoint — Peak Rankings filters

1 participant