rwt-to supports most fare calculation rules from transit providers. This post is an explanation of some of those rules, as well as some tips on how to use the transit services.

_We are building Moving Joburg with @Transit2203, which will have detailed information on how to use the various modes of transport in Jo'burg, as well as how pricing works. This post is only a few pointers in the interim._

How Fares Work



Gautrain uses a pricing matrix to calculate fares. It operates three rail lines, with the third going to OR Tambo International Airport. The airport route attracts an extra surcharge, which is priced into the fare. All routes, with the exception of the airport link, have time-based discounts. These discounts used to be simple, but Gautrain introduced 'GauSave'. We support calculating discounts, but have not updated our pricing for the edge-cases that apply in the GauSave 'red-zones'. We do intend on updating pricing to include red-zones.


Weekly complementary bus services are priced at R6 if used in conjunction with the train, or R20 if not. There are also a few shuttle services which are priced differently. There are no off-peak discounts.

You need a Gautrain Gold Card to pay for fares.

Joburg Metrobus

Metrobus operates on location zones, they are determined by Metrobus and are then published on their website. We capture the zones are specified according to regions, so we might get the zones incorrect depending on our interpretation of the published regions.

Metrobus supports an interesting transfer method, if you transfer buses within a certain period, your transfer is free. From our understanding, if you pay R8.70 for the bus, and you transfer onto a trip leg that would normally cost R12.00, you still pay R8.70. There are no time-based discounts.

You need a bus tag/card to use the bus, but cash is also accepted.


Fares are calculated based on distance zones. There are two fare categories depending on which coach you use. We only support one fare at the moment, so please note that your fare might be different to what we show on our results. We currently only show single-trip fare pricing.

Time-based discounts are not supported.

You need to purchase a ticket at the train station in order to use the train. Metrorail support single-fare transfers, be careful to purchase the correct trip ticket.

Rea Vaya

Similarly to Metrorail, has transfers. We also only show single-trip fares. Rea Vaya has off-peak discounts, which we factor in the fare shown.

You need a Rea Vaya card in order to use the service, a card can be purchased and refilled at stations and a few other locaions.

MyCiti [Cape Town] (for the curious)

Although we currently only support services in Jo'burg, we do have some MyCiti routes that are active. We will add the rest of the routes after completing Moving Joburg.

MyCiti works the same as Rea Vaya, has two pricing options, but we only show one. You also need a card to use the service.

Tickets, Return Trips and Other Discounts

We have built most of the infrastructure to support specifying whether you use/prefer tickets, but we will complete that at the time when we enable creating a profile on rwt-to. Metrobus supports discounts for the elderly, scholars in school uniform, and public servants. A sane way of knowing whether one of the discounts apply would be by the user creating a profile on rwt-to.

We will also support other features such as planning return-trips at a later stage.

Found an Error?

Due to the methods with which we calculate route distances, our estimates might be off by a small margin. This could lead to our service showing different prices than the one that you are charged. In that case, the transit provider's fare takes precedence over our estimate. Just let us know and we'll investigate if we need to make some changes.

There are some instances where Metrorail prices might be calculated incorrectly. We are aware of the problem, and it's on our list of priorities.

On behalf of rwt-to: @nevi_me.