In this paper we describe Operations Research (OR) models and techniques that can be used for determining (cyclic) railway timetables. We discuss the two aspects of railway timetabling: ($i$) the determination of arrival and departure times of the trains at the stations and other relevant locations such as junctions and bridges, and ($ii$) the assignment of each train to an appropriate platform and corresponding inbound and outbound routes in every station. Moreover, we discuss robustness aspects of both subproblems.