Today’s goal was to buy train tickets on to Yogyakarta, a city in southern Java known for its temples (Borobudur and Prambanan), arts, and culture. Buying train tickets here in Indonesia is usually just a short click away at Tiket.com, where you can browse and book bus/plane/train tickets. It’s so good that both locals and visitors use it, with a small hitch for us visitors: it randomly rejects foreign credit cards.
We were the (un)lucky winners of this lottery when the website refused our Chase card, so our only other options were to 1) have the hostel buy them and pay them back or 2) go down to the train station and buy tickets in person. In the spirit of adventure, learning, and later sharing with all of you, we of course opted for option #2. So, it’s off to Jakartakota to buy tickets!
Step 1: Know the train(s) you want
Tiket.com comes in handy even if you can’t/don’t want to buy online because it has a schedule for all the trains. For reasons that’ll become clear in a couple of steps, write down or print out the details of 2-3 trains you’d be willing to catch from the website; write more if it looks like there are few seats left on the train you want. Likewise, note the price. When you head off to the station, make sure you have both your travel identification (for us foreigners, usually the passport) and enough to pay for the ticket in cash.

Step 2: Be prepared to navigate a busy station (and ask for help)
Tiket.com may be convenient, but not everyone in Indonesia has the means to pay online so expect a wait to buy tickets. The length varies by time and station, of course, but when we arrived Jakarta’s main station (Gambir) looked like this:

Though Indonesia has a lot of bilingual Bahasa/English information, not everything has been translated and the train station can feel overwhelming. But a lot of people here speak a bit of English and “tiket” is the Bahasa word for “ticket”, which is super helpful. We found that asking for “tiket Yogyakarta” got us pointed to the right set of windows. From there, a family helped us get a number (like those you get in waiting rooms or at the deli counter) and a ticket form. Speaking of…

Step 3: Fill out your form!
This is how everyone in Indonesia bought tickets before the Internet age and how you’re gonna buy tickets now: get a form, fill it out with the train you want, and hand it over to the teller when your number is called. This is where the train information you got in Step 1 from Tiket.com comes in handy; after filling out the personal information, write in the date/time of your #1 train choice. Now it’s time to wait for your number, which should appear on a screen above the ticket windows.

Step 4: Exchange your form and cash for a ticket
Once your number is called, gather your travel document and completed form and head to the designated window number. Hand the form over, and the ticket teller will let you know if there are still any seats on the train you wanted. The teller we encountered here spoke English (although not all do, so memorize those numbers in Bahasa or write them down) and told us that our first train choice was sold out. This is the situation where your list of second/third choice trains comes in handy. Don’t worry about filling out another form, just ask about the availability of other trains or show them your list. Thankfully we had a second train choice and finished the ticket purchase in a couple of minutes.

Step 5: Get your actual ticket!
“What?!” you exclaim, “Didn’t I just get my ticket?” Nope. Java’s train system runs like an airline, meaning the voucher you get isn’t your actual ticket. You should arrive at the station 30-40 minutes early and exchange the ticket you got for a boarding pass ticket, usually at kiosks or computers just before the security check. The security check guys know what’s up (they’ve helped a lot of people do this), so they’ll show you where to scan the document or do it for you.
