For good tickets you should plan well in advance through your travel agency, but your hotel may be able to help with seats made available by last-minute cancellations.
We recommend you get your tickets well in advance, or you'll have to take a gamble on picking up last-minute cancellations.