What is the best way to organize the pages?
Personally, I would do it like this...
domain.com/
state/
city/hotel_1
domain.com/
state/
city/hotel_2
...
...
domain.com/
state/
city/hotel_15
This means that you'd have to create these (2453) pages...
- home page
- 1 category page (states)
-- 50 sub-category pages (1 page for each one of the 50 states)
- 1 category page (cities)
-- 150 sub-category pages (1 page for each one of the 150 cities)
- 2250 other pages (hotels) - each one of these 2250 pages would list 1 hotel...
Now, there is probably a better / hassle-free way of handling the page creation and site structure, I don't know cause I've never had to build complex sites like these, but this is how I would do it manually. But you should look for ways to automate this, search for travel-specific or directory-specific themes or plugins, I'm sure there are options out there given how popular Wordpress is
What is the best way to organize this so the user can filter well?
all I know (from experience when I searched for hotels during my previous travels) is that price and number of stars (hotel quality) are pretty important. So, no matter which options you include in your sorting and filtering plugin these 2
must be included...
Actually, check out your competitors and see how they do it and you can get inspiration from their sites
I will have to create 50 + 15 categories and that will be bad for indexing and filtering, no?
why 50 + 15?? You need to create over 2000 pages (as I explained above), not 50 + 15.... that is, if you do want to structure your site properly for SEO and UX purposes, otherwise sure, you can cram everything onto one page, but then don't expect your visitors to like your site.
Indexing is sometimes dependent upon your site structure, so you do want to create a clean, easily crawlable, and easy to navigate structure (hence why I've recommended the structure mentioned above).
As for filtering, I would put the filters on the homepage and on the 2 category pages (states and cities)