Best is to book as soon as your planning allows. Theoretically you can book as close as 7 working days prior to your departure date, although there are times when the hotels are more likely to be booked out than at other times (e.g. during high season, a fair or at Christmas time).