\documentclass{article}
\usepackage[landscape]{geometry}
\usepackage[utf8]{inputenc} % this is needed for umlauts
\usepackage[ngerman]{babel} % this is needed for umlauts
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{tikz}

\usetikzlibrary[positioning]
\usetikzlibrary{patterns}

\newcommand{\daywidth}{2.2 cm}

\begin{document}

\begin{center}

% Put your title here
\huge \textbf{Schedule title}
\vspace{0.5cm}
\normalsize

% The timetable starts here
\begin{tikzpicture}[x=0.2\textwidth, y=-1 cm, node distance=0 cm,outer sep = 0pt]
% Style for Days
\tikzstyle{day}=[draw, rectangle,  minimum height=1cm, minimum width=0.20\textwidth, fill=gray!20,anchor=south west]
% Style for hours
\tikzstyle{hour}=[draw, rectangle, minimum height=1 cm, minimum width=1.5 cm, fill=gray!20,anchor=north east]

% Styles for events
% Duration of sequences
\tikzstyle{hours}=[rectangle,draw, minimum width=0.2\textwidth, anchor=north west,text centered,text width=10 em]
\tikzstyle{1hour}=[hours,minimum height=1cm]
\tikzstyle{1.5hours}=[hours,minimum height=1.5cm]
\tikzstyle{2hours}=[hours,minimum height=2cm]
\tikzstyle{3hours}=[hours,minimum height=3cm]

% Use this when events overlap
\tikzstyle{parallelhoursright}=[rectangle,draw, minimum width=0.1\textwidth, anchor=north west,text centered,text width=2.5 em]
\tikzstyle{parallelhoursleft}=[rectangle,draw, minimum width=0.1\textwidth, anchor=north west,text centered,text width=2.5 em]
\tikzstyle{parallel1.5hoursright}=[parallelhoursright,minimum height=1.5cm]
\tikzstyle{parallel1.5hoursleft}=[parallelhoursleft,minimum height=1.5cm]

% Style for type of sequence
% Name in curly brackets is a kind of "identifier"
\tikzstyle{Lect1}=[1.5hours,fill=green!20]
\tikzstyle{Lect2}=[parallel1.5hoursleft,fill=blue!10]
\tikzstyle{Sem1}=[parallel1.5hoursright, fill=yellow!10]
\tikzstyle{Sem2}=[1.5hours, fill=brown!20]

% Draw horizontal seperators
\draw (1,9) -- (6,9);
\draw (1,10) -- (6,10);
\draw (1,11) -- (6,11);
\draw (1,12) -- (6,12);
\draw (1,13) -- (6,13);
\draw (1,14) -- (6,14);
\draw (1,15) -- (6,15);
\draw (1,16) -- (6,16);
\draw (1,17) -- (6,17);
\draw (1,18) -- (6,18);
\draw (1,19) -- (6,19);
\draw (1,20) -- (6,20);
\draw (1,21) -- (6,21);

% Positioning labels for days and hours
\node[day] (montag) at (1,8) {Montag};
\node[day] (dienstag) [right = of montag] {Dienstag};
\node[day] (mittwoch) [right = of dienstag] {Mittwoch};
\node[day] (donnerstag) [right = of mittwoch] {Donnerstag};
\node[day] (freitag) [right = of donnerstag] {Freitag};
\node[hour] (8-9) at (1,8) {8 Uhr};
\node[hour] (9-10) [below = of 8-9] {9 Uhr};
\node[hour] (10-11) [below= of 9-10] {10 Uhr};
\node[hour] (11-12) [below = of 10-11] {11 Uhr};
\node[hour] (12-13) [below  = of 11-12] {12 Uhr};
\node[hour] (13-14) [below = of 12-13] {13 Uhr};
\node[hour] (14-15) [below = of 13-14] {14 Uhr};
\node[hour] (15-16) [below = of 14-15] {15 Uhr};
\node[hour] (16-17) [below = of 15-16] {16 Uhr};
\node[hour] (17-18) [below = of 16-17] {17 Uhr};
\node[hour] (18-19) [below = of 17-18] {18 Uhr};
\node[hour] (19-20) [below = of 18-19] {19 Uhr};
\node[hour] (20-21) [below = of 19-20] {20 Uhr};

% Position of sequences: First use identifier, then state displayed name in curly brackets
\node[Lect1] at (3,10.25) {Onelecturewith-alongname};
\node[Lect2] at (1,13.25) {Another Lecture};
\node[Sem1] at (1.5,14.25) {One Seminar};
\node[Sem2] at (4,13.5) {Another Seminar};

\end{tikzpicture}

\end{center}

\end{document}
