Hotels are legally required to provide the services they advertise, so you're not wrong to push back, but going straight to demanding a refund might backfire - most places will negotiate if you're reasonable about it. Contact the hotel management (not front desk) and explain that you booked specifically for those amenities and weren't notified beforehand. Ask for a partial refund or a credit toward a future stay; if they won't budge, then escalate to the booking platform or your credit card company, since you paid for services you didn't receive. The key is documenting everything - screenshots of the original listing, photos of the broken router or closed gym - because that's what actually gets results.