Skip to content

GET /resorts feature and range filters (Issue #57)#86

Merged
jonathanstelman merged 1 commit intomainfrom
feature/57-resorts-feature-filters
Mar 21, 2026
Merged

GET /resorts feature and range filters (Issue #57)#86
jonathanstelman merged 1 commit intomainfrom
feature/57-resorts-feature-filters

Conversation

@jonathanstelman
Copy link
Copy Markdown
Owner

Summary

  • Extends GET /resorts with boolean feature flag filters and numeric range filters
  • Adds 5 missing fields to ResortSummary needed by the new filters (has_night_skiing, has_terrain_parks, is_dog_friendly, has_snowshoeing, trail_length_mi)
  • All params are optional and fully composable with each other and the existing filters from GET /resorts endpoint — basic #56

New query params

Param Type Behavior
has_alpine, has_cross_country, has_night_skiing, has_terrain_parks, is_dog_friendly, has_snowshoeing, is_allied bool Filter to resorts where field equals value
reservation_required bool truereservation_status == "Required"
min_vertical / max_vertical float Inclusive vertical range (ft)
min_trails / max_trails float Inclusive trail count range
min_lifts / max_lifts float Inclusive lift count range
min_trail_length / max_trail_length float Inclusive trail length range (mi); resorts with null values are excluded

Test plan

  • Each boolean flag filters correctly when true and false
  • reservation_required=true returns only "Required" resorts
  • reservation_required=false excludes "Required" resorts
  • Range filters are inclusive at both bounds
  • Resorts with null values for a range field are excluded
  • Boolean + range + reservation filters compose correctly
  • All 38 backend tests pass; pipeline tests unaffected; Black clean

Closes #57

🤖 Generated with Claude Code

- Boolean flags: has_alpine, has_cross_country, has_night_skiing,
  has_terrain_parks, is_dog_friendly, has_snowshoeing, is_allied
- Numeric ranges: min/max_vertical, min/max_trails, min/max_lifts,
  min/max_trail_length (inclusive; resorts with null values excluded)
- reservation_required filter (maps to reservation_status == "Required")
- Added missing fields to ResortSummary: has_night_skiing, has_terrain_parks,
  is_dog_friendly, has_snowshoeing, trail_length_mi
- 22 new tests covering all params and composability

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@jonathanstelman jonathanstelman merged commit 0487d50 into main Mar 21, 2026
6 checks passed
@jonathanstelman jonathanstelman deleted the feature/57-resorts-feature-filters branch March 21, 2026 22:16
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 — feature filters

1 participant