diff --git a/css/frs.css b/css/frs.css
index 4c5b9bc..0cc2cd7 100644
--- a/css/frs.css
+++ b/css/frs.css
@@ -87,3 +87,9 @@
   background-color: rgb(238, 238, 238);
   cursor: pointer;
 }
+
+h3 .material-icons {
+  color: rgb(117, 117, 117);
+  font-size: 0.9em;
+  vertical-align: -0.15em;
+}
diff --git a/index.php b/index.php
index f24f568..9060e45 100644
--- a/index.php
+++ b/index.php
@@ -53,29 +53,25 @@ if (isset($_GET['action'])) {
 
 if (!$tpl_done && isset($_SESSION['access_token']) && $_SESSION['access_token']) {
     // Authenticated
-    try {
-        $created = $_SESSION['access_token']['created'];
-        $expires = $_SESSION['access_token']['expires_in'];
-        $expire_stamp = intval($created) + intval($expires);
-        $data['session_created'] = $created;
-        $data['session_expires'] = $expires;
-        $data['session_time_left'] = ($expire_stamp) - time();
-        $client->setAccessToken($_SESSION['access_token']);
-    } catch (Exception $e) {
-        print_r($e);
-        $_SESSION['access_token'] = $client->refreshToken(null);
-        print_r($_SESSION['access_token']);
-    }
+    $created = $_SESSION['access_token']['created'];
+    $expires = $_SESSION['access_token']['expires_in'];
+    $expire_stamp = intval($created) + intval($expires);
+    $data['session_created'] = $created;
+    $data['session_expires'] = $expires;
+    $data['session_time_left'] = ($expire_stamp) - time();
 
-    $data['auth_needed'] = false;
-
-    try {
-        $oauth = new Google_Service_Oauth2($client);
-        $userdata = $oauth->userinfo->get();
-    } catch (Exception $e) {
-        print_r($e);
+    $client->setAccessToken($_SESSION['access_token']);
+    if ($client->isAccessTokenExpired()) {
+        // TODO: Save everything in session
+        // TODO: Redirect to $client->createAuthUrl(); to reauthenticate
+        echo "Token expired!";
+        session_destroy();
         die();
     }
+
+    $oauth = new Google_Service_Oauth2($client);
+    $userdata = $oauth->userinfo->get();
+
     $data['user'] = array(
         'name_first' => $userdata->givenName,
         'name_last'  => $userdata->familyName,
@@ -85,26 +81,33 @@ if (!$tpl_done && isset($_SESSION['access_token']) && $_SESSION['access_token'])
         'gender'     => $userdata->gender,
     );
 
+    $data['date_today'] = date('Y-m-d');
+
+
     // Check $userdata->verifiedEmail and deny if not verified.
     if (!$userdata->verifiedEmail) {
         $tpl = $m->loadTemplate('notverified_html');
         $tpl_done = true;
-    }
-
-    switch ($_GET['action']) {
-        case 'faq':
-            $tpl = $m->loadTemplate('faq_html');
-            break;
-        default:
-            if (!$tpl_done) {
-                $tpl = $m->loadTemplate('loggedin_html');
+    } else {
+        switch ($_GET['action']) {
+            case 'event':
+                $tpl = $m->loadTemplate('event_html');
                 $tpl_done = true;
-            }
-            break;
+                break;
+            case 'hotel':
+                $tpl = $m->loadTemplate('hotel_html');
+                $tpl_done = true;
+                break;
+            default:
+                if (!$tpl_done) {
+                    $tpl = $m->loadTemplate('loggedin_html');
+                    $tpl_done = true;
+                }
+                break;
+        }
     }
 } elseif (!$tpl_done) {
     // Not authenticated
-    $data['auth_needed'] = true;
     $data['auth_url'] = $client->createAuthUrl();
     $tpl = $m->loadTemplate('index_html');
 }
diff --git a/templates/event_html.mustache b/templates/event_html.mustache
new file mode 100644
index 0000000..b0293e8
--- /dev/null
+++ b/templates/event_html.mustache
@@ -0,0 +1,30 @@
+{{> html_head}}
+{{> mdl_head}}
+{{> mdl_content_head}}
+
+<div class="frs-crumbs mdl-color-text--grey-500">
+  <a href="./">Fake Reservation System</a> &gt; Create Event
+</div>
+
+<h3><i class="material-icons">event</i> Event Reservation</h3>
+
+<p>
+<form action="#">
+  <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
+    <input class="mdl-textfield__input" type="text" id="reservationFor_name">
+    <label class="mdl-textfield__label" for="reservationFor_name">Name</label>
+  </div>
+</form>
+<!-- Numeric Textfield with Floating Label -->
+<form action="#">
+  <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
+    <input class="mdl-textfield__input" type="datetime-local" min="{{date_today}}" id="reservationFor_startDate">
+    <label class="mdl-textfield__label" for="reservationFor_startDate">Start Date</label>
+    <span class="mdl-textfield__error">Input is not a date!</span>
+  </div>
+</form>
+</p>
+
+{{> mdl_content_foot}}
+{{> mdl_foot}}
+{{> html_foot}}
diff --git a/templates/hotel_html.mustache b/templates/hotel_html.mustache
new file mode 100644
index 0000000..fc9a4c4
--- /dev/null
+++ b/templates/hotel_html.mustache
@@ -0,0 +1,30 @@
+{{> html_head}}
+{{> mdl_head}}
+{{> mdl_content_head}}
+
+<div class="frs-crumbs mdl-color-text--grey-500">
+  <a href="./">Fake Reservation System</a> &gt; Create Hotel Reservation
+</div>
+
+<h3><i class="material-icons">hotel</i> Hotel Reservation</h3>
+
+<p>
+<form action="#">
+  <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
+    <input class="mdl-textfield__input" type="text" id="reservationFor_name">
+    <label class="mdl-textfield__label" for="reservationFor_name">Name</label>
+  </div>
+</form>
+<!-- Numeric Textfield with Floating Label -->
+<form action="#">
+  <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
+    <input class="mdl-textfield__input" type="datetime-local" min="{{date_today}}" id="reservationFor_startDate">
+    <label class="mdl-textfield__label" for="reservationFor_startDate">Start Date</label>
+    <span class="mdl-textfield__error">Input is not a date!</span>
+  </div>
+</form>
+</p>
+
+{{> mdl_content_foot}}
+{{> mdl_foot}}
+{{> html_foot}}