Restaurants operate on a similar basis to those in Europe or North America. A 10-15% tip to the waiter is standard, depending on the quality of service.
At hotels, it’s usually easier to sign drinks and meals to the room than to pay cash, but you could still leave a tip for an individual waiter or bartender, or add one to the bill before you sign it.
Hotel porters usually expect a tip of around R10 per item of luggage.
On organised tours, most tips are handled by the guide, but it is customary to tip to the guide and/or driver at the end, usually as a group rather than on an individual basis.
Upmarket lodges and camps that operate on a full-board basis generally have a tip box at reception. Tips will usually be distributed between all the staff, a system that seems fairest to backroom workers in a country where hotel staff is very poorly paid.
In game lodges that offer guided game drives, any guides, drivers and trackers should be tipped. Many such lodges have guideline in the rooms; failing that ask management for a directive.
South Africa has strict foreign exchange regulations so best tip in rands rather than hard currency.