Definitely book now since your flights are fixed. In terms of the friend, if you'll be sharing a room it doesn't matter much as many hotels charge the same price for one versus two people and others can adjust then number of guests later (I'd book a room for two with the bed type you want and then ask the hotel to change to one person later). OTOH, if you won't be sharing a room, the easiest thing would just be to book a second refundable room now and cancel later if necessary since it would be a hassle to be forced to stay in different hotels.