Accommodation search pages need a believable spread of hotels to design filters, sorting, and cards against. This generator builds fake listings where price tracks the star rating and amenities skew richer for higher-rated properties, so the data behaves sensibly when your UI sorts or filters it.
How it works
Each listing picks a star rating first, then derives everything else from it. The nightly rate is a star-based floor plus a random spread, the guest review score is correlated with stars but allowed to overlap between tiers, and amenities are sampled with higher-star hotels more likely to draw premium options:
stars = random 2..5
rate = floor(stars) + spread
review = clamp(stars × 1.7 + noise, 0, 10)
amenities = weightedSample(pool, byStars)
Hotel names are composed from neutral placeholder words, and cities come from a pool unless you fix one.
Example and tips
A five-star listing might read Grand Harbour Suites — Lisbon, 5★, 9.2/10, [Spa, Pool, Gym, Free WiFi], from 320/night, while a two-star option lands far cheaper
with a leaner amenity list. Fix the city to mock a single-destination search, or
leave it blank to populate a multi-city results page. Everything is fictional, so
it is safe for public marketing mockups.