India will host England in a five-match Test series, the first of which starting November 9, in Rajkot.
The series will be followed by a three-match One-Day International series and three Twenty20 Internationals respectively.
England's long tour will end in February.
While Rajkot will host the first Test from November 9, Vishakhapatnam (November 17), Mohali (November 26), Mumbai (December 8) and Chennai (December 16) will stage the next three in that order.
There will be a month's break in between for Christmas before the ODIs commence on January 15 in Pune.
The next two ODIs will be played in Cuttack (January 19) and Kolkata (January 22).
Kanpur (January 26), Nagpur (January 29) and Bengaluru (February 1) will host The T20s.
Before the England series, India will host New Zealand for three Tests and five ODIs in September.
The Schedule:
Test series:
Nov 9-13: First Test, Rajkot
Nov 17-21: Second Test, Vishakapatnam
Nov 26-30: Third Test, Mohali
Dec 8-12: Fourth Test, Mumbai
Dec 16-20: Fifth Test, Chennai
ODIs and T20s
Jan 10: One-day warm-up match, CCI Mumbai
Jan 12: One-day warm-up match, CCI, Mumbai
Jan 15: First ODI, Pune
Jan 19: Second ODI, Cuttack
Jan 22: Third ODI, Kolkata
Jan 26: First T20, Kanpur
Jan 29: Second T20, Nagpur
Feb 1: Third T20, Bangalore
Golf's Rio exodus may hit cricket's Olympic prospects: ICC
Challenging to face India's strong batting, spin: Brathwaite
In T20s, batsmen have improved more than bowlers: Dravid
'As a spin trio, we will test the West Indies' batsmen'
Misbah's historic ton puts Pakistan on top at Lord's