A General View on Timetabling Problems