You should query for room details of current room (i.e. ListItem):
var rooms = from r in doc.QuerySelectorAll(".ListItem")
from rd in r.QuerySelectorAll(".listRoomDetails tbody tr")
select new HotelAvailability {
HotelName = r.QuerySelector(".title").InnerText.Trim(),
TypeRooms = rd.QuerySelector(".rates").InnerText.Trim(),
Price = rd.QuerySelector(".price span").InnerText.Trim()
};
For your sample html it produces:
[
{
HotelName: "Super Room",
Price: "290.00€",
TypeRooms: "Room Type 1 promotion 10%"
},
{
HotelName: "Super Room",
Price: "290.00€",
TypeRooms: "Room Type 2 promotion 60%"
},
{
HotelName: "Super Room",
Price: "290.00€",
TypeRooms: "Room Type 1 promotion 90%"
},
{
HotelName: "Super Room",
Price: "290.00€",
TypeRooms: "Room Type 2 promotion 0 % // type of room"
}
]