When you are on a budget while travelling ground transportation is often the cheaper option to flying. We've pulled together a few bits of info that might help while getting around India.
Should I Get A Local SIM?
If you are in India for more than a couple weeks or are travelling around a lot, yes you should. It is quite easy to get a SIM and very inexpensive. We found having a local data plan really helpful for getting around and being able to use local utilities (e.g. using wifi at the rail stations and some airports require a local phone number to get the access code).
There are two main companies- Vodafone and Airtel. To get a SIM simply find a shop nearby (ideally a bigger one so they can activate your SIM straight away) and bring:
A 2GB data plan with 40 mins of call/text time from Vodafone cost 600 rupees (about $12 AUS). We used this for Uber/Ola/Google Maps mainly (not social media) and it lasted our entire one month trip. Definitely a benefit to have access to Google Maps when you're on an overnight train and don't know what station you're at! Vodafone kept sending me prompts to download their Vodafone India app, but I could never actually get the download link to work or find it in the app store, so I just used the website to check my credits.
Before leaving the shop, make sure to ask the person helping you:
Is there Uber in India?
Yes, there is in about 30 of the bigger cities. Here is a list: https://newsroom.uber.com/india/namaste-india-uber-in-27-cities/
You can use your existing Uber account and credit card payments which is super helpful for not having to carry cash or worry about haggling for the right fare. You also have the details of your driver in case of any issues, which we found reassuring.
When Uber is not available, there is another local option called Ola. https://www.olacabs.com/ You can download the Ola app and it works similarly to Uber. You need to create an account but no payment is required. You can load Ola Money or link your account to your credit card but we opted to use the "pay cash" option. This does require you to have a local SIM to check the ride cost at your drop off point (or rely on the driver to tell you how much it is for the fare, which shows up on the app once you have arrived). The car options work well but we struggled a bit with the accuracy of the rickshaw option (the drivers aren't as well equipped so they have a harder time finding your pickup location or drop off point).
Can I Book My Own Indian Rail Train Tickets?
There are several booking agency websites you can use (https://www.makemytrip.com/railways/ , https://www.cleartrip.com/trains) but it is best to book your own tickets with Indian Railway directly using their website https://www.irctc.co.in/eticketing/loginHome.jsf. It is tricky at first because you need to create an account before you can book tickets. Once you create your account, you will be asked to verify it by getting an OTP code sent to your Indian mobile. If you have a mobile already, or know someone who does, this is easily done. If you don't have access to an Indian mobile number, you will need to email IRCTC to get them to validate your account in the backend without the OTP verification. To do this, email your IRCTC account username, and a copy of your passport to firstname.lastname@example.org. This can take some time for them to write back (mine took 8 days for a response).
Once you have a login, the search tool is easy to use. If you can't find a direct train for a longer distance trip, you may need to search smaller legs of the trip in sections and book 2-3 separate train tickets to cover the longer total distance.
When booking, note that you can only book 6 train tickets in a month. This is to prevent the agency websites from mass purchasing tickets when they become available and re-selling them at inflated prices. If you are booking in advance, you can book 6 tickets, wait a month, and then book 6 more. When booking, pay attention to the ticket codes. If the ticket has a "WL" (wait list) code, there is a good chance that you won't actually be confirmed to travel on that train. The "charts" (reservation lists that list who has a confirmed tickets) are prepared a few hours before the train departs and will tell you if you have been assigned a seat or not. If you book a WL ticket, and are not assigned a seat, you will be given a refund to the credit card you used when booking. We booked one WL ticket for a better class of tickets and then bought a cheaper class ticket as a backup to ensure we would still make a connecting train if the WL ticket wasn't assigned (which it wasn't so thankfully we had the backup!).
We travelled on mostly 2A class tickets, which are air conditioned "rooms" with curtains. Each room has two bunks (4 seats/beds), each with an upper and lower. There are also aisle bunks that have just an upper and lower bunk with curtains on each bed. We did one 6 hour journey on a Sleeper class train, which is not air conditioned and does not have curtains. Each room has two bunks (6 seats/beds), each with an upper, middle and lower. Definitely do-able, but not recommended if you don't like the heat (if you are travelling in summer) or everyone on the train starring at you.
A great app for checking the status of your tickets (PNR), train schedules, if your train is on time, etc is IndianRail. There are a lot of different apps with similar names but try to find this one:
How Do I Book A Bus In India?
The most popular site to book a bus is https://m.redbus.in/. We had issues using our international credit cards for payment on this site and finally found an alternative site that would accept them: http://www.abhibus.com/mobile/. This site sends an email confirmation with your ticket details for future reference.
There were also a few times when these two sites didn't have the travel routes we were looking for. We found this site that has additional trips that often aren't listed on other sites: http://m.ksrtc.in/oprs-mobile/?OS=null. The buses aren't always as nice as the buses your get from the other sites (more local than tourist), but are often cheaper. The ticket will say the type of bus you are booking under "Class of Service". "KARNATAKA SARIGE" is non-air conditioned local bus. It's a small seat and not a lot of space, so would be best for shorter trips (we did 8 hours on one and it wasn't pleasant). "AIRAVAT CLUB CLASS" is an air conditioned bus with reclining semi-sleeper seats, similar to the tourist buses.
None of the buses we took in India had toilets on board, but they all stopped at least once for longer journeys (although you never knew where they were stopping or when, they just kind of yell at you to get off and tell you how long you have, usually 5-10 minutes). If you are travelling during the day they seem to stop for a quick lunch around 1pm, but this is not guaranteed.