Customs is quite sluggish, yet somewhat simple to navigate (as appears to be the case for most of Africa). They seldom bother you if you have an address for where you will be staying.
BY PLAIN
Air Botswana is located at the Main Mall and can be reached at 395 1921. International flights to Harare (Mondays, Wednesdays, and Saturdays), Johannesburg (daily), and Lusaka are available, as are local flights to Francistown, Kasane, and Maun. Typical fares from Gabs vary between USD 200 and $400.
South African Express, Game City Mall, Broadhurst Mall, and Riverwalk Mall, Tel: 397 2397 (Game City), 309 5740 (Broadhurst Mall) (Broadhurst). Arrives through Johannesburg. SAA operates non-stop flights from JNB. To fly from Cape Town, a connection through JNB is required.
Mondays, Tuesdays, and Thursdays are the days that Air Namibia flights to and from Windhoek.
On Mondays, Wednesdays, and Sundays, Air Kenya flights into Nairobi from Nairobi, offering a convenient alternative to Johannesburg for connections to the rest of the globe.
BY TRAIN
Rail services resume in March 2016 with the addition of a daily overnight train connecting Gaborone to Francistown and Lobatse, near the South African border.
BY BUS
Pretoria, South Africa and Gaborone, Botswana are connected by a daily bus. Intercape operates the bus, and tickets may be bought online or at one of their locations. The bus leaves from Pretoria Station at 13:15 on Paul Kruger & Scheiding Street and arrives in Gaborone at 21:10 at the Kudu Shell Service Station (an 8 hrs bus ride). This bus makes a quick stop to pick up passengers at the Johannesburg bus terminal. As of June 2011, the bus ticket was R 195.00 rand (about $29 USD) per person.
The bus is rather nice: it has a tourist class, reclining seats, and a functional restroom. Be prepared, though, for “Christian literature on-board.” Essentially, all of the films shown on the Intercape bus include excessively religious overtones.
South Africa and Botswana have a very simple border crossing. The passengers depart the bus (without their baggage, just their documents) at the South African immigration checkpoint to get their exit stamps, and then proceed to the Botswana immigration checkpoint to obtain their entry visa stamps. The bus attendant remains with the passengers throughout the border crossing procedure, ensuring that no one is left behind.