When should i book accomodation

on

As soon as you have booked a flight you should book a hotel within your budget range.

Booking with a global OTA (online travel agent) will allow you to amend dates or cancel up to a few days before your arrival.