diff --git a/website/templates/pages/account.html b/website/templates/pages/account.html
index 6dcc497..9d29589 100644
--- a/website/templates/pages/account.html
+++ b/website/templates/pages/account.html
@@ -17,11 +17,9 @@
 		<li><a href="orders"><i class="icon-list icon-fixed-width"></i> My Orders</a></li>
 		<li><a href="tickets"><i class="icon-tags icon-fixed-width"></i> My Tickets</a></li>
 		<li style="border-top: 1px solid #ddd"></li>
-		<li><a href="messages"><i class="icon-comments icon-fixed-width"></i> Messages</a></li>
-		<li><a href="quotations"><i class="icon-shopping-cart icon-fixed-width"></i> 
-			Quotations</a></li>
 		<li><a href="invoices"><i class="icon-file-text icon-fixed-width"></i> Invoices</a></li>
-		<li><a href="delivery_notes"><i class="icon-truck icon-fixed-width"></i> Shipments</a></li>
+		<li><a href="shipments"><i class="icon-truck icon-fixed-width"></i> Shipments</a></li>
+		<li><a href="messages"><i class="icon-comments icon-fixed-width"></i> Messages</a></li>
 		<li style="border-top: 1px solid #ddd"></li>
 		<li><a href="server.py?cmd=web_logout"><i class="icon-signout icon-fixed-width"></i>
 			Logout</a></li>
diff --git a/website/templates/pages/messages.html b/website/templates/pages/messages.html
new file mode 100644
index 0000000..e1ea8d0
--- /dev/null
+++ b/website/templates/pages/messages.html
@@ -0,0 +1,31 @@
+{% extends "app/website/templates/html/transactions.html" %}
+
+{% block javascript -%}
+{{ super() }}
+
+var render = function(doc) {
+	doc.sender = doc.sender ? doc.sender : "To ";
+	doc.recipients = doc.recipients ? (" to " + doc.recipients) : "";
+	doc.content = remove_script_and_style(doc.content);
+	
+	if(!is_html(doc.content)) {
+		doc.content = doc.content.replace("\n", "<br>");
+	}
+		
+	$(repl('<a class="list-group-item">\
+			<div class="row col-md-12">%(subject)s</div>\
+			<div class="row text-muted">\
+				<div class="col-md-6">%(sender)s%(recipients)s</div>\
+				<div class="col-md-6 text-right">%(creation)s</div>\
+			</div>\
+			<div class="row col-md-12 msg-content" style="display: none;"><hr>%(content)s</div>\
+		</a>', doc))
+		.appendTo($list)
+		.on("click", function() {
+			$(this).find(".msg-content").toggle();
+		});
+	
+	
+}
+
+{%- endblock %}
\ No newline at end of file
diff --git a/website/templates/pages/sales_transactions.html b/website/templates/pages/sales_transactions.html
new file mode 100644
index 0000000..7215339
--- /dev/null
+++ b/website/templates/pages/sales_transactions.html
@@ -0,0 +1,25 @@
+{% extends "app/website/templates/html/transactions.html" %}
+
+{% block javascript -%}
+global_number_format = "{{ global_number_format }}";
+currency = "{{ currency }}";
+wn.currency_symbols = {{ currency_symbols }};
+
+{{ super() }}
+
+var render = function(doc) {
+	doc.grand_total_export = format_currency(doc.grand_total_export, doc.currency);
+	
+	$(repl('<a href="{{ page }}?name=%(name)s" class="list-group-item">\
+			<div class="row">\
+				<div class="col-md-6">\
+					<div class="row col-md-12">%(name)s</div>\
+					<div class="row col-md-12 text-muted">%(items)s...</div>\
+				</div>\
+				<div class="col-md-3 text-right">%(grand_total_export)s</div>\
+				<div class="col-md-3 text-right text-muted">%(creation)s</div>\
+			</div>\
+		</a>', doc)).appendTo($list);
+};
+
+{%- endblock %}
\ No newline at end of file
diff --git a/website/templates/pages/tickets.html b/website/templates/pages/tickets.html
index 9c476ff..248384d 100644
--- a/website/templates/pages/tickets.html
+++ b/website/templates/pages/tickets.html
@@ -1,51 +1,35 @@
-{% extends "app/website/templates/html/page.html" %}
+{% extends "app/website/templates/html/transactions.html" %}
 
-{% set title="My Tickets" %}
+{% block javascript -%}
+{{ super() }}
 
-{% block content %}
-<div class="col-md-12">
-    <ul class="breadcrumb">
-    	<li><a href="index">Home</a></li>
-    	<li><a href="account">My Account</a></li>
-    	<li class="active"><i class="icon-ticket icon-fixed-width"></i> My Tickets</li>
-    </ul>
-	<div id="ticket-list" style="font-size: 13px;">
-		<div class="progress progress-striped active">
-			<div class="progress-bar progress-bar-info" style="width: 100%;"></div>
-		</div>
-	</div>
-</div>
-<script>
-$(document).ready(function() {
-	var order_start = 0;
-		
-	wn.call({
-		method: "support.doctype.support_ticket.support_ticket.get_tickets",
-		args: {
-			start: order_start
-		},
-		callback: function(r) {
-			$("#ticket-list .progress").remove();
-			var $list = $("#ticket-list");
-			
-			if(!(r.message && r.message.length)) {
-				$list.html("<div class='alert'>No Tickets Yet</div>");
-				return;
-			}
-			
-			$.each(r.message, function(i, ticket) {
-				
-				// parent
-				var $ticket = $(repl('<div class="row">\
-					<div class="col-md-2"><span class="label">%(status)s</span></div>\
-					<div class="col-md-3"><a href="ticket?name=%(name)s">%(name)s</a></div>\
-					<div class="col-md-7">%(subject)s</div>\
-				</div>', ticket)).appendTo($list);
-				
-				$("<hr>").appendTo($list);
-			});
-		}
-	})
-})
-</script>
-{% endblock %}
\ No newline at end of file
+var status_label = {
+	"Open": "label-success",
+	"Waiting for Customer": "label-danger",
+	"Closed": "label-default"
+}
+
+var render = function(doc) {
+	doc.status = doc.status.trim();
+	doc.label_class = status_label[doc.status] || "label-default";
+	if(doc.status==="Waiting for Customer") doc.status = "To Reply";
+	
+	$(repl('<a href="{{ page }}?name=%(name)s" class="list-group-item">\
+			<div class="row">\
+				<div class="col-md-8">\
+					<div class="row col-md-12">%(name)s</div>\
+					<div class="row col-md-12 text-muted">%(subject)s</div>\
+				</div>\
+				<div class="col-md-4">\
+					<div class="pull-left">\
+						<span class="label %(label_class)s" \
+							style="padding-top: 0.3em; margin-right: 5px;">%(status)s</span>\
+					</div>\
+					<div class="pull-right">\
+						<span class="text-muted">%(creation)s</span>\
+					</div>\
+				</div>\
+			</div>\
+		</a>', doc)).appendTo($list);
+};
+{%- endblock %}
\ No newline at end of file
diff --git a/website/templates/pages/transaction_list.html b/website/templates/pages/transaction_list.html
deleted file mode 100644
index e92764a..0000000
--- a/website/templates/pages/transaction_list.html
+++ /dev/null
@@ -1,69 +0,0 @@
-{% extends "app/website/templates/html/page.html" %}
-
-{% block content %}
-<div class="col-md-12">
-    <ul class="breadcrumb">
-    	<li><a href="index">Home</a></li>
-    	<li><a href="account">My Account</a></li>
-    	<li class="active"><i class="{{ icon }} icon-fixed-width"></i> {{ title }}</li>
-    </ul>
-	<div class="list-group transaction-list">
-		<div class="progress progress-striped active">
-			<div class="progress-bar progress-bar-info" style="width: 100%;"></div>
-		</div>
-	</div>
-</div>
-
-<script>
-global_number_format = "{{ global_number_format }}";
-currency = "{{ currency }}";
-wn.currency_symbols = {{ currency_symbols }};
-
-$(document).ready(function() {
-	var start = 0;
-	var $list = $(".transaction-list");
-	
-	var get_transactions = function() {
-		wn.call({
-			method: "{{ method }}",
-			args: { start: start },
-			callback: function(r) {
-				$list.find(".progress").remove();
-			
-				if(!(r.message && r.message.length)) {
-					console.log("empty");
-					if(!$list.html().trim()) {
-						$list.html("<div class='alert alert-warning'>\
-							{{ empty_list_message }}</div>");
-					}
-					return;
-				}
-			
-				start += r.message.length;
-			
-				$.each(r.message, function(i, doc) {
-					render(doc);
-				});
-			}
-		})
-	};
-	
-	var render = function(doc) {
-		doc.grand_total_export = format_currency(doc.grand_total_export, doc.currency);
-		
-		var $row = $(repl('<a href="{{ page }}?name=%(name)s" class="list-group-item">\
-				<div class="row">\
-					<div class="col-md-6">\
-						<div class="row col-md-12">%(name)s</div>\
-						<div class="row col-md-12 text-muted">%(items)s...</div>\
-					</div>\
-					<div class="col-md-3 text-right">%(grand_total_export)s</div>\
-					<div class="col-md-3 text-right text-muted">%(creation)s</div>\
-				</div>\
-			</a>', doc)).appendTo($list);
-	};
-	
-	get_transactions();
-});
-</script>
-{% endblock %}
\ No newline at end of file
