HOW TO BUY TRAIN TICKETS
🎟️ Buying Tickets
In Thailand, you can buy tickets on the official DTicket website or at your local train station. Some people living abroad have reported problems opening the official SRT website or using foreign credit cards, so you may prefer using the 12Go or Baolau agency websites instead. They charge a fee, but many travellers say the process is easier.
📅 Advance Booking
You can buy tickets and reserve seats for Special Express, Express, and Rapid trains numbered 1–199 on the DTicket website. How far in advance you can book depends on the proportion of the route you are travelling:
| Journey Distance (% of total route) | Advance Booking Window |
|---|---|
| Less than 25% of the route | 1 day in advance |
| At least 25% of the route | Up to 30 days in advance |
| 60% or more of the route | Up to 180 days in advance |
Visit the Booking Window Calculator to work out when tickets go on sale. If you are unsure what percentage your journey is, use the Train Distance Calculator. You will also find tips there on how to book earlier than other travellers.
🚉 Booking Tickets for Ordinary Trains
Tickets for Ordinary, Commuter, and Local trains, usually numbered 200–499, can only be bought at the station and usually no more than one hour before departure. These tickets cannot be bought on DTicket. Seats are not reserved, and you can sit wherever there is an empty seat.
📆 Postponing Tickets (Changing the Travel Date)
Tickets bought through the DTicket system can be postponed to a later date, either online or at a train station, subject to a fee. The number of postponements is unlimited. The fee depends on how many days in advance you postpone, counted from the original departure time shown on the ticket:
| Days Before Original Departure | Postponement Fee |
|---|---|
| 1 day before | 50% of the ticket price |
| 2 days before | 30% of the ticket price |
| 3 or more days before | 20% of the ticket price |
Tickets for Excursion (Special) trains can be postponed once only, and this must be done at a train station.
❌ Cancelling Tickets (Refunds)
Tickets bought through the DTicket system can be cancelled before departure, subject to the following rules:
- Tickets must be cancelled at least 3 hours before the scheduled departure.
- A 70% cancellation fee applies — meaning 30% of the ticket price is refunded.
- Names on tickets cannot be changed and must match the passenger's ID card or passport.
If you cancel online, the refund is returned to the same credit or debit card used for booking and is usually processed within 45 days, depending on your bank. You can also cancel at any train station by completing a refund form; the refund will be transferred electronically.
Tickets paid by QR Code or PromptPay can be refunded at a train station only. Tickets for Excursion (Special) trains cannot be refunded under any circumstances.
⚠️ Penalty Fees
It is important to buy a ticket before boarding the train. The only exception is when boarding at an unmanned halt, where you are allowed to buy a ticket onboard.
| Train Type | Penalty for Boarding Without a Ticket |
|---|---|
| Special Express, Express, or Rapid | 250 baht + full ticket price |
| All other trains | 100 baht + full ticket price |
Tickets may not be resold. The name on the ticket must match the passenger's name — if they do not match, the passenger is treated as if they boarded without a ticket.