Step 8 Amenities
Amenities
Purpose (Product)
Capture the property's amenities to enhance searchability, set guest expectations, and enable accurate pricing recommendations.
Amenities are grouped by category (e.g., Kitchen, Bathroom, Entertainment) and displayed as selectable cards with icons.
Minimum of 5 amenities required to proceed, ensuring the listing has sufficient detail for guest decision-making.
UX Flow (What the user sees)
![[Desktop 7.png]]
APIs Called
PATCH /api/properties/{propertyId}
Payload: { "amenities": string[] } // array of amenity names
Response: Updated property
Errors: 400 (validation), 401/403 (authz), 404 (not found), 500
Idempotency: Safe for identical amenity arraysPATCH /api/users/{userId}
Payload: { "onboardingStep": number } // current + 1
Response: Updated user
Errors: 400, 401/403, 404, 500QA Checklist
Visual
Amenities grouped by category with proper separators
Selected amenities show correct highlighting
Grid responsive across screen sizes
Behavior
Clicking cards toggles selection state
< 5 amenities shows validation error on Next
≥ 5 amenities allows progression
Data
Verify
properties.amenitiesarray contains selected amenity namesVerify
users.onboardingStepincrements once
Negative
Simulate API errors: user remains on step; no step increment/navigation
Test with various amenity combinations