After the ODIs, India will play the first Test of the two-match series also at Johannesburg (December 18-22) while the second game will be played from December 26-30 at Durban, a BCCI media release said.
The tour, which has been the subject of much wrangling between the two boards -- BCCI and Cricket South Africa, will also have a two-day practice match between the touring side and the SA Invitation XI beginning December 14 at Benoni.
India will arrive in South Africa on December 2.
The BCCI had, on October 22, given its consent to the tour after CSA withdrew its CEO Haroon Lorgat from not just its dealings with the Indian Board but also the ICC Chief Executives Committee pending an enquiry into his actions.
The tour had been in limbo after CSA unilaterally released its itinerary in July, a move which miffed the BCCI. The Indian Board was also not too happy with Lorgat's appointment as CSA's CEO.
The BCCI's uneasiness with Lorgat stemmed from the somewhat frosty relationship that the it shared with him during his stint as the ICC CEO due to their differences over a number of issues.
Matters came to a head recently when CSA's former legal adviser David Becker, allegedly at the behest of Lorgat, accused BCCI President N Srinivasan of being manipulative. But the two sides finally put their differences aside and formalised the series after a series of meetings.
December 2: Arrive in South Africa
December 5: 1st ODI, Wanderers Stadium, Johannesburg
December 8: 2nd ODI, Kingsmead, Durban
December 11: 3rd ODI, SuperSport Park, Centurion
December 14-15: Two-day tour match vs SA Invitation XI, Willowmoore Park, Benoni
December 18-22: 1st Test, Wanderers Stadium, Johannesburg
December 26-30: 2nd Test, Kingsmead, Durban.