I had booked my train ticket online in advanced through 12goAsia and it was very easy. As soon as you have your booking confirmed you can go to their Office in front of Hua Lamphong train station in Bangkok the same day or just a couple of hours before departing. I travelled in a 2nd class train and took the lower bed (better if you want to have the window next to youcause the upper bed could be a little claustrophobic). The service provided in the train during the journey was great and the bed surprisingly comfortable. I really reccomend this option mostly when it's not that easy to book it directly from the Thai website. The journey was 13hs aprox and lots of other tourists in the same car. Great experience with 12go.asia.