It is usually best to book flights and hotels several weeks in advance so that you can get the best deals. Additionally, if planning to visit another country it may be necessary to apply for visas up to several months in advance.