Is it difficult to book train or airplane tickets in Beijing? I am planning to book train Beijing -> Xi'an and Xi'an -> Yichang.
Are the tickets less expensive if booked in China? Is it likely there will be softsleepers available if I only book 4 days in advance?
The tickets should be less if bought at the train station or other Chinese travel office, but the tellers might not speak English. If you don't speak Chinese, it might be worth it to book / buy your tickets online.
Soft sleepers are usually the last to sell out because they're the most expensive option. By the time you buy the tickets, they'll probably just have the soft sleepers left, if they haven't totally sold out.
If you're buying tickets on one of the luxury trains (Z class?) they have started to issue them 4 weeks in advance of travel, so if you try and buy them with a few days to spare you might find even soft sleeper sold out - you might be best of using one of the two agencies listed on Seat61 and getting them to deliver the tickets to your hotel in Beijing.