Hotel PDP›Rooms & Ratesimplied context · 764 px
Best rate first · click any to compare
King Room
1 King Bed · Sleeps 2
★ RecommendedEgencia Business rateFlexible · Bed & Breakfast
1 King Bed
Free cancellationIncludes breakfastIncludes wifiPay at hotel+1
$251
per night
Other rate options · click any to compare
Queen Room
1 Queen Bed · Sleeps 2
★ RecommendedEgencia Business rateFlex · Bed & Breakfast
1 Queen Bed
Free cancellationIncludes breakfastIncludes wifiPay at hotel+1
$224
per night
Other rate options · click any to compare
State breakdown · 3 states
State 01 / 03Recommended only
Best rate first · click any to compare
King Room
1 King Bed · Sleeps 2
★ RecommendedEgencia Business rateFlexible · Bed & Breakfast
1 King Bed
Free cancellationIncludes breakfastIncludes wifiPay at hotel+1
$251
per night
Other rate options · click any to compare
Queen Room
1 Queen Bed · Sleeps 2
★ RecommendedEgencia Business rateFlex · Bed & Breakfast
1 Queen Bed
Free cancellationIncludes breakfastIncludes wifiPay at hotel+1
$224
per night
Other rate options · click any to compare
State 02 / 03+N more expanded
Best rate first · click any to compare
King Room
1 King Bed · Sleeps 2
★ RecommendedEgencia Business rateFlexible · Bed & Breakfast
1 King Bed
Free cancellationIncludes breakfastIncludes wifiPay at hotel+1
$251
per night
Other rate options · click any to compare
Queen Room
1 Queen Bed · Sleeps 2
★ RecommendedEgencia Business rateFlex · Bed & Breakfast
1 Queen Bed
Free cancellationIncludes breakfastIncludes wifiPay at hotel+1
$224
per night
Other rate options · click any to compare
State 03 / 03Alt rate selected
Best rate first · click any to compare
King Room
1 King Bed · Sleeps 2
★ RecommendedEgencia Business rateFlexible · Bed & Breakfast
1 King Bed
Free cancellationIncludes breakfastIncludes wifiPay at hotel+1
$251
per night
Other rate options · click any to compare
Queen Room
1 Queen Bed · Sleeps 2
★ RecommendedEgencia Business rateFlex · Bed & Breakfast
1 Queen Bed
Free cancellationIncludes breakfastIncludes wifiPay at hotel+1
$224
per night
Other rate options · click any to compare
Design review · breakdown
What this is
For each room type, one 'Recommended' rate is rendered as a hero block with full detail and a prominent Reserve. Remaining rates collapse behind a '+N more' control.
Why it works
Optimizes for the common path: most users will accept the recommended option. Reduces choice paralysis without removing the long tail.
Best use case
Default booking flows, repeat agents, and policy-driven environments where 'the right answer' usually exists.
Tradeoffs / risks
Trust depends entirely on the recommendation logic being good. Bad recommendations erode confidence in normalization itself. Hidden rates feel arbitrary if the 'why this is best' isn't explained.
UX notes · scannability · normalization · booking confidence · provider transparency
Strongest single-CTA booking confidence of any concept. Detail is reduced for non-recommended rates until promoted. Normalization is implicit — the user must trust that 'best' truly considered all 7 rates.
Hand off · Claude Code prompt
Paste this into Claude Code to regenerate this concept as a standalone interactive wireframe component.
You are building one self-contained, fully interactive wireframe-style React component that demonstrates a single hotel "Room Normalizer" concept. # Concept - Number: 6 of 14 - Section: normalizer - Name: Best rate first, others tucked below - Tagline: Recommended-first - One-line summary: One recommended rate rendered as a hero block; remaining rates collapse behind a '+N more' control. # Framing Optimizes the common path. Most users will accept the recommended rate; surfacing it eliminates choice paralysis while keeping the long tail one click away. # What this is For each room type, one 'Recommended' rate is rendered as a hero block with full detail and a prominent Reserve. Remaining rates collapse behind a '+N more' control. # Why it works Optimizes for the common path: most users will accept the recommended option. Reduces choice paralysis without removing the long tail. # Best use case Default booking flows, repeat agents, and policy-driven environments where 'the right answer' usually exists. # Tradeoffs / risks Trust depends entirely on the recommendation logic being good. Bad recommendations erode confidence in normalization itself. Hidden rates feel arbitrary if the 'why this is best' isn't explained. # UX notes (scannability · normalization · booking confidence · provider transparency) Strongest single-CTA booking confidence of any concept. Detail is reduced for non-recommended rates until promoted. Normalization is implicit — the user must trust that 'best' truly considered all 7 rates. # Visual + interaction requirements - Wireframe fidelity: monochrome, system UI, no brand color. Use Tailwind utility classes only. No images. Use simple borders, muted backgrounds, and mono labels for meta text (uppercase, tracking-widest, text-[10px]). - Canvas width: 764px, centered. Internal content respects that frame. - Context: this lives inside a hotel PDP "Rooms & Rates" section. Assume 3 normalized room types (King, Queen, Double Queen) with 5–8 bookable rates each. Invent realistic mock data inline — rate label, bed, meals (room only / breakfast included), cancellation (free until N / non-refundable), payment (pay now / pay at hotel), price per night. - Fully interactive: every control the concept implies must work in-browser with React state only — no backend, no router. Examples: accordions expand, tabs filter, sort headers sort, "Show N more" reveals rows, builder toggles recompute price live, sticky CTAs update with selection. - Accessibility: real <button> elements, keyboard focus rings, aria-expanded on disclosure controls, aria-pressed on toggles. # Deliverable - A single default-exported React component file using TypeScript + Tailwind. - No external UI library. Inline any small primitives you need. - Include the mock data inline at the top of the file. - File should run as-is when dropped into a Vite + React + Tailwind project. Build only this concept. Do not generate the other 13.