The England and Wales Cricket Board (ECB) and Cricket South Africa (CSA) have revealed the dates for England's 2015/16 winter tour.
The tour will last 72 days and consist of four Test matches - starting with the traditional Boxing Day Test at Kingsmead in Durban - five one-day internationals and two Twenty20 internationals.
England are due to arrive in South Africa on December 11 and anyone who remains until the final T20 on February 21 will have gone the distance.
Peter Moores' men will have two long-form warm-up matches against invitational sides before the first Test in Durban which starts on December 26.
After that Tests will take place in Cape Town, Johannesburg and Centurion before one-day cricket comes to the fore.
Fifty-over clashes will be held in Bloemfontein, Port Elizabeth, Centurion, Johannesburg and Cape Town, ahead of T20s in Cape Town and Johannesburg.
Paul Downton, managing director England Cricket, said: "Any tour of South Africa is special and as the Proteas currently set the benchmark in Test and ODI cricket it will be a real challenge which our emerging team will relish.
"We can be assured of fantastic support in South Africa from the thousands of loyal supporters who always follow us around the country – particularly at the Boxing Day Test in Durban and the New Year Test at Newlands in Cape Town."
On the last tour to South Africa in 2009/10 England held the hosts to a 1-1 draw in the Test series but lost at home to the Proteas 2-0 in the three Test series in 2012.
However, that series will probably be remembered more for the text message controversy that resulted in Kevin Pietersen being axed by England before being reintegrated and then dropped again, for what looks like the final time, earlier this year.
England in South Africa 2015/16
Tour itinerary
2015
December 11: England arrive in SA
December 15-17: SA Invitation XI v England, Senwes Park, Potchefstroom
December 20-22: SA Invitation XI v England, Pietermaritzburg Oval
December 26-30: First Sunfoil Test match, Sahara Stadium Kingsmead, Durban
2016
January 2-6: 2nd Sunfoil Test match, Newlands, Cape Town
January 14-18: 3rd Sunfoil Test match, Bidvest Wanderers Stadium, Johannesburg
January 22-26: 4th Sunfoil Test match, SuperSport Park, Centurion
January 30: One-day tour match, Diamond Oval, Kimberley
February 3: First Momentum ODI, Chevrolet Park, Bloemfontein
February 6: Second Momentum ODI, St. George’s Park, Port Elizabeth
February 9: Third Momentum ODI, SuperSport Park, Centurion
February 12: Fourth Momentum ODI, Bidvest Wanderers Stadium, Johannesburg
February 14: Fifth Momentum ODI, Newlands, Cape Town
February 17: T20 tour match, SA Invitation XI v England, Boland Park, Paarl
February 19: First KFC T20 International, Newlands, Cape Town
February 21: Second KFC T20 International, Bidvest Wanderers Stadium, Johannesburg
(Sky Sports)