diff --git a/erpnext/buying/doctype/request_for_quotation/request_for_quotation.js b/erpnext/buying/doctype/request_for_quotation/request_for_quotation.js
index 3801141..c3d7a2c 100644
--- a/erpnext/buying/doctype/request_for_quotation/request_for_quotation.js
+++ b/erpnext/buying/doctype/request_for_quotation/request_for_quotation.js
@@ -254,7 +254,7 @@
 						}
 					})
 				}, __("Get items from"));
-			// Get items from Opportunity 
+			// Get items from Opportunity
             this.frm.add_custom_button(__('Opportunity'),
 				function() {
 					erpnext.utils.map_current_doc({
@@ -264,11 +264,8 @@
 						setters: {
 							company: me.frm.doc.company
 						},
-						get_query_filters: {
-							enquiry_type: "Sales"
-						}
 					})
-				}, __("Get items from"));  
+				}, __("Get items from"));
 			// Get items from open Material Requests based on supplier
 			this.frm.add_custom_button(__('Possible Supplier'), function() {
 				// Create a dialog window for the user to pick their supplier
diff --git a/erpnext/crm/doctype/opportunity/opportunity.json b/erpnext/crm/doctype/opportunity/opportunity.json
index 89eb191..ea07ce2 100644
--- a/erpnext/crm/doctype/opportunity/opportunity.json
+++ b/erpnext/crm/doctype/opportunity/opportunity.json
@@ -270,8 +270,8 @@
    "collapsible": 0, 
    "columns": 0, 
    "default": "Sales", 
-   "fieldname": "enquiry_type", 
-   "fieldtype": "Select", 
+   "fieldname": "opportunity_type", 
+   "fieldtype": "Link", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
@@ -284,14 +284,14 @@
    "no_copy": 0, 
    "oldfieldname": "enquiry_type", 
    "oldfieldtype": "Select", 
-   "options": "Sales\nMaintenance", 
+   "options": "Opportunity Type", 
    "permlevel": 0, 
    "print_hide": 0, 
    "print_hide_if_no_value": 0, 
    "read_only": 0, 
    "remember_last_selected_value": 0, 
    "report_hide": 0, 
-   "reqd": 1, 
+   "reqd": 0, 
    "search_index": 0, 
    "set_only_once": 0, 
    "unique": 0
@@ -1189,7 +1189,7 @@
  "issingle": 0, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2017-08-21 02:07:46.486433", 
+ "modified": "2017-11-15 17:44:46.241548", 
  "modified_by": "Administrator", 
  "module": "CRM", 
  "name": "Opportunity", 
@@ -1239,7 +1239,7 @@
  "quick_entry": 0, 
  "read_only": 0, 
  "read_only_onload": 0, 
- "search_fields": "status,transaction_date,customer,lead,enquiry_type,territory,company", 
+ "search_fields": "status,transaction_date,customer,lead,opportunity_type,territory,company", 
  "show_name_in_global_search": 1, 
  "sort_field": "modified", 
  "sort_order": "DESC", 
diff --git a/erpnext/crm/doctype/opportunity/opportunity.py b/erpnext/crm/doctype/opportunity/opportunity.py
index e9a7baa..b8077fe 100644
--- a/erpnext/crm/doctype/opportunity/opportunity.py
+++ b/erpnext/crm/doctype/opportunity/opportunity.py
@@ -246,7 +246,7 @@
 			"doctype": "Quotation",
 			"field_map": {
 				"enquiry_from": "quotation_to",
-				"enquiry_type": "order_type",
+				"opportunity_type": "order_type",
 				"name": "enq_no",
 			}
 		},
@@ -267,10 +267,7 @@
 def make_request_for_quotation(source_name, target_doc=None):
 	doclist = get_mapped_doc("Opportunity", source_name, {
 		"Opportunity": {
-			"doctype": "Request for Quotation",
-			"validation": {
-				"enquiry_type": ["=", "Sales"]
-			}
+			"doctype": "Request for Quotation"
 		},
 		"Opportunity Item": {
 			"doctype": "Request for Quotation Item",
diff --git a/erpnext/crm/doctype/opportunity/opportunity_list.js b/erpnext/crm/doctype/opportunity/opportunity_list.js
index 55a5463..0dbbf8a 100644
--- a/erpnext/crm/doctype/opportunity/opportunity_list.js
+++ b/erpnext/crm/doctype/opportunity/opportunity_list.js
@@ -1,5 +1,5 @@
 frappe.listview_settings['Opportunity'] = {
-	add_fields: ["customer_name", "enquiry_type", "enquiry_from", "status"],
+	add_fields: ["customer_name", "opportunity_type", "enquiry_from", "status"],
 	get_indicator: function(doc) {
 		var indicator = [__(doc.status), frappe.utils.guess_colour(doc.status), "status,=," + doc.status];
 		if(doc.status=="Quotation") {
diff --git a/erpnext/crm/doctype/opportunity/test_opportunity.py b/erpnext/crm/doctype/opportunity/test_opportunity.py
index 61b583c..658e31f 100644
--- a/erpnext/crm/doctype/opportunity/test_opportunity.py
+++ b/erpnext/crm/doctype/opportunity/test_opportunity.py
@@ -30,7 +30,7 @@
 		args = {
 			"doctype": "Opportunity",
 			"contact_email":"new.opportunity@example.com",
-			"enquiry_type": "Sales",
+			"opportunity_type": "Sales",
 			"with_items": 0,
 			"transaction_date": today()
 		}
@@ -65,7 +65,7 @@
 	opp_doc = frappe.get_doc({
 		"doctype": "Opportunity",
 		"enquiry_from": args.enquiry_from or "Customer",
-		"enquiry_type": "Sales",
+		"opportunity_type": "Sales",
 		"with_items": args.with_items or 0,
 		"transaction_date": today()
 	})
diff --git a/erpnext/crm/doctype/opportunity_type/__init__.py b/erpnext/crm/doctype/opportunity_type/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/crm/doctype/opportunity_type/__init__.py
diff --git a/erpnext/crm/doctype/opportunity_type/opportunity_type.js b/erpnext/crm/doctype/opportunity_type/opportunity_type.js
new file mode 100644
index 0000000..174625e
--- /dev/null
+++ b/erpnext/crm/doctype/opportunity_type/opportunity_type.js
@@ -0,0 +1,8 @@
+// Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and contributors
+// For license information, please see license.txt
+
+frappe.ui.form.on('Opportunity Type', {
+	refresh: function(frm) {
+
+	}
+});
diff --git a/erpnext/crm/doctype/opportunity_type/opportunity_type.json b/erpnext/crm/doctype/opportunity_type/opportunity_type.json
new file mode 100644
index 0000000..3ada0f1
--- /dev/null
+++ b/erpnext/crm/doctype/opportunity_type/opportunity_type.json
@@ -0,0 +1,135 @@
+{
+ "allow_copy": 0, 
+ "allow_guest_to_view": 0, 
+ "allow_import": 1, 
+ "allow_rename": 0, 
+ "autoname": "Prompt", 
+ "beta": 0, 
+ "creation": "2017-10-06 12:55:43.318773", 
+ "custom": 0, 
+ "docstatus": 0, 
+ "doctype": "DocType", 
+ "document_type": "Setup", 
+ "editable_grid": 1, 
+ "engine": "InnoDB", 
+ "fields": [
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "description", 
+   "fieldtype": "Small Text", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 1, 
+   "in_standard_filter": 0, 
+   "label": "Description", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }
+ ], 
+ "has_web_view": 0, 
+ "hide_heading": 0, 
+ "hide_toolbar": 0, 
+ "idx": 0, 
+ "image_view": 0, 
+ "in_create": 0, 
+ "is_submittable": 0, 
+ "issingle": 0, 
+ "istable": 0, 
+ "max_attachments": 0, 
+ "modified": "2017-11-15 17:27:12.271303", 
+ "modified_by": "Administrator", 
+ "module": "CRM", 
+ "name": "Opportunity Type", 
+ "name_case": "Title Case", 
+ "owner": "Administrator", 
+ "permissions": [
+  {
+   "amend": 0, 
+   "apply_user_permissions": 0, 
+   "cancel": 0, 
+   "create": 1, 
+   "delete": 1, 
+   "email": 1, 
+   "export": 1, 
+   "if_owner": 0, 
+   "import": 0, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "System Manager", 
+   "set_user_permissions": 0, 
+   "share": 1, 
+   "submit": 0, 
+   "write": 1
+  }, 
+  {
+   "amend": 0, 
+   "apply_user_permissions": 0, 
+   "cancel": 0, 
+   "create": 1, 
+   "delete": 1, 
+   "email": 1, 
+   "export": 1, 
+   "if_owner": 0, 
+   "import": 0, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Sales Manager", 
+   "set_user_permissions": 0, 
+   "share": 1, 
+   "submit": 0, 
+   "write": 1
+  }, 
+  {
+   "amend": 0, 
+   "apply_user_permissions": 0, 
+   "cancel": 0, 
+   "create": 0, 
+   "delete": 0, 
+   "email": 1, 
+   "export": 1, 
+   "if_owner": 0, 
+   "import": 0, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Sales User", 
+   "set_user_permissions": 0, 
+   "share": 1, 
+   "submit": 0, 
+   "write": 0
+  }
+ ], 
+ "quick_entry": 1, 
+ "read_only": 0, 
+ "read_only_onload": 0, 
+ "search_fields": "", 
+ "show_name_in_global_search": 0, 
+ "sort_field": "modified", 
+ "sort_order": "DESC", 
+ "title_field": "", 
+ "track_changes": 1, 
+ "track_seen": 0
+}
\ No newline at end of file
diff --git a/erpnext/crm/doctype/opportunity_type/opportunity_type.py b/erpnext/crm/doctype/opportunity_type/opportunity_type.py
new file mode 100644
index 0000000..48abac3
--- /dev/null
+++ b/erpnext/crm/doctype/opportunity_type/opportunity_type.py
@@ -0,0 +1,10 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and contributors
+# For license information, please see license.txt
+
+from __future__ import unicode_literals
+import frappe
+from frappe.model.document import Document
+
+class OpportunityType(Document):
+	pass
diff --git a/erpnext/crm/doctype/opportunity_type/test_opportunity_type.js b/erpnext/crm/doctype/opportunity_type/test_opportunity_type.js
new file mode 100644
index 0000000..3a1ede9
--- /dev/null
+++ b/erpnext/crm/doctype/opportunity_type/test_opportunity_type.js
@@ -0,0 +1,23 @@
+/* eslint-disable */
+// rename this file from _test_[name] to test_[name] to activate
+// and remove above this line
+
+QUnit.test("test: Opportunity Type", function (assert) {
+	let done = assert.async();
+
+	// number of asserts
+	assert.expect(1);
+
+	frappe.run_serially([
+		// insert a new Opportunity Type
+		() => frappe.tests.make('Opportunity Type', [
+			// values to be set
+			{key: 'value'}
+		]),
+		() => {
+			assert.equal(cur_frm.doc.key, 'value');
+		},
+		() => done()
+	]);
+
+});
diff --git a/erpnext/crm/doctype/opportunity_type/test_opportunity_type.py b/erpnext/crm/doctype/opportunity_type/test_opportunity_type.py
new file mode 100644
index 0000000..6410bbc
--- /dev/null
+++ b/erpnext/crm/doctype/opportunity_type/test_opportunity_type.py
@@ -0,0 +1,10 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors
+# See license.txt
+from __future__ import unicode_literals
+
+import frappe
+import unittest
+
+class TestOpportunityType(unittest.TestCase):
+	pass
diff --git a/erpnext/demo/user/sales.py b/erpnext/demo/user/sales.py
index ddd36ef..54ea173 100644
--- a/erpnext/demo/user/sales.py
+++ b/erpnext/demo/user/sales.py
@@ -54,7 +54,7 @@
 		"doctype": "Opportunity",
 		"enquiry_from": "Customer",
 		"customer": get_random("Customer"),
-		"enquiry_type": "Sales",
+		"opportunity_type": "Sales",
 		"with_items": 1,
 		"transaction_date": frappe.flags.current_date,
 	})
diff --git a/erpnext/hub_node/data_migration_mapping/hub_message_to_lead/__init__.py b/erpnext/hub_node/data_migration_mapping/hub_message_to_lead/__init__.py
index 79769ee..0ea1bc4 100644
--- a/erpnext/hub_node/data_migration_mapping/hub_message_to_lead/__init__.py
+++ b/erpnext/hub_node/data_migration_mapping/hub_message_to_lead/__init__.py
@@ -20,7 +20,7 @@
 	opportunity = frappe.get_doc({
 		'doctype': 'Opportunity',
 		'naming_series': 'OPTY-',
-		'enquiry_type': 'Sales',
+		'opportunity_type': 'Hub',
 		'enquiry_from': 'Lead',
 		'status': 'Open',
 		'lead': lead.name,
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index 6cb87b6..5d522b2 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -462,3 +462,4 @@
 execute:frappe.delete_doc_if_exists("DocType", "Program Fee")
 erpnext.patches.v9_0.update_employee_loan_details
 erpnext.patches.v9_2.delete_healthcare_domain_default_items
+erpnext.patches.v9_1.create_issue_opportunity_type
diff --git a/erpnext/patches/v9_1/__init__.py b/erpnext/patches/v9_1/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/patches/v9_1/__init__.py
diff --git a/erpnext/patches/v9_1/create_issue_opportunity_type.py b/erpnext/patches/v9_1/create_issue_opportunity_type.py
new file mode 100644
index 0000000..b5070b0
--- /dev/null
+++ b/erpnext/patches/v9_1/create_issue_opportunity_type.py
@@ -0,0 +1,34 @@
+# Copyright (c) 2017, Frappe and Contributors
+# License: GNU General Public License v3. See license.txt
+
+from __future__ import unicode_literals
+import frappe
+from frappe import _
+
+def execute():
+	# delete custom field if exists
+	for fieldname in ('issue_type', 'opportunity_type'):
+		custom_field = frappe.db.get_value("Custom Field", {"fieldname": fieldname})
+		if custom_field:
+			frappe.delete_doc("Custom Field", custom_field, ignore_permissions=True)
+
+	frappe.reload_doc('support', 'doctype', 'issue_type')
+	frappe.reload_doc('support', 'doctype', 'issue')
+	frappe.reload_doc('crm', 'doctype', 'opportunity_type')
+	frappe.reload_doc('crm', 'doctype', 'opportunity')
+
+	# rename enquiry_type -> opportunity_type
+	from frappe.model.utils.rename_field import rename_field
+	rename_field('Opportunity', 'enquiry_type', 'opportunity_type')
+
+	# create values if already set
+	for opts in (('Issue', 'issue_type', 'Issue Type'),
+		('Opportunity', 'opportunity_type', 'Opportunity Type')):
+		for d in frappe.db.sql('select distinct {0} from `tab{1}`'.format(opts[1], opts[0])):
+			if not frappe.db.exists(opts[2], d[0]):
+				frappe.get_doc(dict(doctype = opts[2], name=d[0])).insert()
+
+	# fixtures
+	for name in ('Hub', _('Sales'), _('Support'), _('Maintenance')):
+		if not frappe.db.exists('Opportunity', name):
+			frappe.get_doc(dict(doctype = 'Opportunity Type', name=name)).insert()
diff --git a/erpnext/setup/setup_wizard/install_fixtures.py b/erpnext/setup/setup_wizard/install_fixtures.py
index e6a4a81..bc0d2a3 100644
--- a/erpnext/setup/setup_wizard/install_fixtures.py
+++ b/erpnext/setup/setup_wizard/install_fixtures.py
@@ -212,6 +212,11 @@
 		{'doctype': "Party Type", "party_type": "Supplier"},
 		{'doctype': "Party Type", "party_type": "Employee"},
 
+		{'doctype': "Opportunity Type", "name": "Hub"},
+		{'doctype': "Opportunity Type", "name": _("Sales")},
+		{'doctype': "Opportunity Type", "name": _("Support")},
+		{'doctype': "Opportunity Type", "name": _("Maintenance")},
+
 		{'doctype': "Project Type", "project_type": "Internal"},
 		{'doctype': "Project Type", "project_type": "External"},
 		{'doctype': "Project Type", "project_type": "Other"},
diff --git a/erpnext/setup/setup_wizard/sample_data.py b/erpnext/setup/setup_wizard/sample_data.py
index 43911f0..e58b5f2 100644
--- a/erpnext/setup/setup_wizard/sample_data.py
+++ b/erpnext/setup/setup_wizard/sample_data.py
@@ -38,7 +38,7 @@
 		"doctype": "Opportunity",
 		"enquiry_from": "Customer",
 		"customer": customer,
-		"enquiry_type": "Sales",
+		"opportunity_type": _("Sales"),
 		"with_items": 1
 	})
 
diff --git a/erpnext/support/doctype/issue/issue.json b/erpnext/support/doctype/issue/issue.json
index 529ae89..137b088 100644
--- a/erpnext/support/doctype/issue/issue.json
+++ b/erpnext/support/doctype/issue/issue.json
@@ -105,11 +105,11 @@
   {
    "allow_bulk_edit": 0, 
    "allow_on_submit": 0, 
-   "bold": 1, 
+   "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
-   "fieldname": "mins_to_first_response", 
-   "fieldtype": "Float", 
+   "fieldname": "issue_type", 
+   "fieldtype": "Link", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
@@ -117,14 +117,15 @@
    "in_global_search": 0, 
    "in_list_view": 0, 
    "in_standard_filter": 0, 
-   "label": "Mins to First Response", 
+   "label": "Issue Type", 
    "length": 0, 
    "no_copy": 0, 
+   "options": "Issue Type", 
    "permlevel": 0, 
    "precision": "", 
    "print_hide": 0, 
    "print_hide_if_no_value": 0, 
-   "read_only": 1, 
+   "read_only": 0, 
    "remember_last_selected_value": 0, 
    "report_hide": 0, 
    "reqd": 0, 
@@ -324,10 +325,10 @@
    "allow_bulk_edit": 0, 
    "allow_on_submit": 0, 
    "bold": 0, 
-   "collapsible": 0, 
+   "collapsible": 1, 
    "columns": 0, 
-   "fieldname": "column_break_9", 
-   "fieldtype": "Column Break", 
+   "fieldname": "response", 
+   "fieldtype": "Section Break", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
@@ -335,6 +336,7 @@
    "in_global_search": 0, 
    "in_list_view": 0, 
    "in_standard_filter": 0, 
+   "label": "Response", 
    "length": 0, 
    "no_copy": 0, 
    "permlevel": 0, 
@@ -352,12 +354,11 @@
   {
    "allow_bulk_edit": 0, 
    "allow_on_submit": 0, 
-   "bold": 0, 
+   "bold": 1, 
    "collapsible": 0, 
    "columns": 0, 
-   "depends_on": "eval:!doc.__islocal", 
-   "fieldname": "resolution_date", 
-   "fieldtype": "Datetime", 
+   "fieldname": "mins_to_first_response", 
+   "fieldtype": "Float", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
@@ -365,12 +366,11 @@
    "in_global_search": 0, 
    "in_list_view": 0, 
    "in_standard_filter": 0, 
-   "label": "Resolution Date", 
+   "label": "Mins to First Response", 
    "length": 0, 
-   "no_copy": 1, 
-   "oldfieldname": "resolution_date", 
-   "oldfieldtype": "Date", 
+   "no_copy": 0, 
    "permlevel": 0, 
+   "precision": "", 
    "print_hide": 0, 
    "print_hide_if_no_value": 0, 
    "read_only": 1, 
@@ -425,7 +425,7 @@
    "in_global_search": 0, 
    "in_list_view": 0, 
    "in_standard_filter": 0, 
-   "label": "Contact", 
+   "label": "Reference", 
    "length": 0, 
    "no_copy": 0, 
    "options": "fa fa-pushpin", 
@@ -595,6 +595,36 @@
    "allow_bulk_edit": 0, 
    "allow_on_submit": 0, 
    "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "company", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Company", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "Company", 
+   "permlevel": 0, 
+   "print_hide": 1, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
    "collapsible": 1, 
    "columns": 0, 
    "fieldname": "section_break_19", 
@@ -629,7 +659,7 @@
    "columns": 0, 
    "depends_on": "eval:!doc.__islocal", 
    "fieldname": "resolution_details", 
-   "fieldtype": "Text Editor", 
+   "fieldtype": "Small Text", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
@@ -752,8 +782,9 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
-   "fieldname": "company", 
-   "fieldtype": "Link", 
+   "depends_on": "eval:!doc.__islocal", 
+   "fieldname": "resolution_date", 
+   "fieldtype": "Datetime", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
@@ -761,14 +792,15 @@
    "in_global_search": 0, 
    "in_list_view": 0, 
    "in_standard_filter": 0, 
-   "label": "Company", 
+   "label": "Resolution Date", 
    "length": 0, 
-   "no_copy": 0, 
-   "options": "Company", 
+   "no_copy": 1, 
+   "oldfieldname": "resolution_date", 
+   "oldfieldtype": "Date", 
    "permlevel": 0, 
-   "print_hide": 1, 
+   "print_hide": 0, 
    "print_hide_if_no_value": 0, 
-   "read_only": 0, 
+   "read_only": 1, 
    "remember_last_selected_value": 0, 
    "report_hide": 0, 
    "reqd": 0, 
@@ -847,7 +879,7 @@
  "issingle": 0, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2017-06-13 14:29:19.581715", 
+ "modified": "2017-11-15 17:15:40.347362", 
  "modified_by": "Administrator", 
  "module": "Support", 
  "name": "Issue", 
diff --git a/erpnext/support/doctype/issue/test_issue.js b/erpnext/support/doctype/issue/test_issue.js
new file mode 100644
index 0000000..c532ea4
--- /dev/null
+++ b/erpnext/support/doctype/issue/test_issue.js
@@ -0,0 +1,23 @@
+/* eslint-disable */
+// rename this file from _test_[name] to test_[name] to activate
+// and remove above this line
+
+QUnit.test("test: Issue", function (assert) {
+	let done = assert.async();
+
+	// number of asserts
+	assert.expect(1);
+
+	frappe.run_serially([
+		// insert a new Issue
+		() => frappe.tests.make('Issue', [
+			// values to be set
+			{key: 'value'}
+		]),
+		() => {
+			assert.equal(cur_frm.doc.key, 'value');
+		},
+		() => done()
+	]);
+
+});
diff --git a/erpnext/support/doctype/issue_type/__init__.py b/erpnext/support/doctype/issue_type/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/support/doctype/issue_type/__init__.py
diff --git a/erpnext/support/doctype/issue_type/issue_type.js b/erpnext/support/doctype/issue_type/issue_type.js
new file mode 100644
index 0000000..2b3d14e
--- /dev/null
+++ b/erpnext/support/doctype/issue_type/issue_type.js
@@ -0,0 +1,8 @@
+// Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and contributors
+// For license information, please see license.txt
+
+frappe.ui.form.on('Issue Type', {
+	refresh: function(frm) {
+
+	}
+});
diff --git a/erpnext/support/doctype/issue_type/issue_type.json b/erpnext/support/doctype/issue_type/issue_type.json
new file mode 100644
index 0000000..ee7add8
--- /dev/null
+++ b/erpnext/support/doctype/issue_type/issue_type.json
@@ -0,0 +1,115 @@
+{
+ "allow_copy": 0, 
+ "allow_guest_to_view": 0, 
+ "allow_import": 1, 
+ "allow_rename": 0, 
+ "autoname": "Prompt", 
+ "beta": 0, 
+ "creation": "2017-10-06 12:53:34.714153", 
+ "custom": 0, 
+ "docstatus": 0, 
+ "doctype": "DocType", 
+ "document_type": "Setup", 
+ "editable_grid": 1, 
+ "engine": "InnoDB", 
+ "fields": [
+  {
+   "allow_bulk_edit": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "description", 
+   "fieldtype": "Small Text", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Description", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }
+ ], 
+ "has_web_view": 0, 
+ "hide_heading": 0, 
+ "hide_toolbar": 0, 
+ "idx": 0, 
+ "image_view": 0, 
+ "in_create": 0, 
+ "is_submittable": 0, 
+ "issingle": 0, 
+ "istable": 0, 
+ "max_attachments": 0, 
+ "modified": "2017-11-15 17:27:19.796807", 
+ "modified_by": "Administrator", 
+ "module": "Support", 
+ "name": "Issue Type", 
+ "name_case": "Title Case", 
+ "owner": "Administrator", 
+ "permissions": [
+  {
+   "amend": 0, 
+   "apply_user_permissions": 0, 
+   "cancel": 0, 
+   "create": 1, 
+   "delete": 1, 
+   "email": 1, 
+   "export": 1, 
+   "if_owner": 0, 
+   "import": 0, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "System Manager", 
+   "set_user_permissions": 0, 
+   "share": 1, 
+   "submit": 0, 
+   "write": 1
+  }, 
+  {
+   "amend": 0, 
+   "apply_user_permissions": 0, 
+   "cancel": 0, 
+   "create": 1, 
+   "delete": 1, 
+   "email": 1, 
+   "export": 1, 
+   "if_owner": 0, 
+   "import": 0, 
+   "permlevel": 0, 
+   "print": 1, 
+   "read": 1, 
+   "report": 1, 
+   "role": "Support Team", 
+   "set_user_permissions": 0, 
+   "share": 1, 
+   "submit": 0, 
+   "write": 1
+  }
+ ], 
+ "quick_entry": 1, 
+ "read_only": 0, 
+ "read_only_onload": 0, 
+ "search_fields": "", 
+ "show_name_in_global_search": 0, 
+ "sort_field": "modified", 
+ "sort_order": "DESC", 
+ "title_field": "", 
+ "track_changes": 1, 
+ "track_seen": 0
+}
\ No newline at end of file
diff --git a/erpnext/support/doctype/issue_type/issue_type.py b/erpnext/support/doctype/issue_type/issue_type.py
new file mode 100644
index 0000000..f95d09c
--- /dev/null
+++ b/erpnext/support/doctype/issue_type/issue_type.py
@@ -0,0 +1,10 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and contributors
+# For license information, please see license.txt
+
+from __future__ import unicode_literals
+import frappe
+from frappe.model.document import Document
+
+class IssueType(Document):
+	pass
diff --git a/erpnext/support/doctype/issue_type/test_issue_type.js b/erpnext/support/doctype/issue_type/test_issue_type.js
new file mode 100644
index 0000000..9ef737b
--- /dev/null
+++ b/erpnext/support/doctype/issue_type/test_issue_type.js
@@ -0,0 +1,23 @@
+/* eslint-disable */
+// rename this file from _test_[name] to test_[name] to activate
+// and remove above this line
+
+QUnit.test("test: Issue Type", function (assert) {
+	let done = assert.async();
+
+	// number of asserts
+	assert.expect(1);
+
+	frappe.run_serially([
+		// insert a new Issue Type
+		() => frappe.tests.make('Issue Type', [
+			// values to be set
+			{key: 'value'}
+		]),
+		() => {
+			assert.equal(cur_frm.doc.key, 'value');
+		},
+		() => done()
+	]);
+
+});
diff --git a/erpnext/support/doctype/issue_type/test_issue_type.py b/erpnext/support/doctype/issue_type/test_issue_type.py
new file mode 100644
index 0000000..4e3b66a
--- /dev/null
+++ b/erpnext/support/doctype/issue_type/test_issue_type.py
@@ -0,0 +1,10 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors
+# See license.txt
+from __future__ import unicode_literals
+
+import frappe
+import unittest
+
+class TestIssueType(unittest.TestCase):
+	pass
diff --git a/erpnext/templates/utils.py b/erpnext/templates/utils.py
index 7ee3960..eb84bcc 100644
--- a/erpnext/templates/utils.py
+++ b/erpnext/templates/utils.py
@@ -9,16 +9,16 @@
 
 @frappe.whitelist(allow_guest=True)
 def send_message(subject="Website Query", message="", sender="", status="Open"):
-    from frappe.www.contact import send_message as website_send_message
-    lead = customer = None
+	from frappe.www.contact import send_message as website_send_message
+	lead = customer = None
 
-    website_send_message(subject, message, sender)
+	website_send_message(subject, message, sender)
 
-    customer = frappe.db.sql("""select distinct dl.link_name from `tabDynamic Link` dl 
-        left join `tabContact` c on dl.parent=c.name where dl.link_doctype='Customer' 
-        and c.email_id='{email_id}'""".format(email_id=sender))
+	customer = frappe.db.sql("""select distinct dl.link_name from `tabDynamic Link` dl
+		left join `tabContact` c on dl.parent=c.name where dl.link_doctype='Customer'
+		and c.email_id='{email_id}'""".format(email_id=sender))
 
-    if not customer:
+	if not customer:
 		lead = frappe.db.get_value('Lead', dict(email_id=sender))
 		if not lead:
 			new_lead = frappe.get_doc(dict(
@@ -27,33 +27,33 @@
 				lead_name = sender.split('@')[0].title()
 			)).insert(ignore_permissions=True)
 
-    opportunity = frappe.get_doc(dict(
-    	doctype ='Opportunity',
-    	enquiry_from = 'Customer' if customer else 'Lead',
-    	status = 'Open',
-    	title = subject,
-	contact_email = sender,
-    	to_discuss = message
-    ))
+	opportunity = frappe.get_doc(dict(
+		doctype ='Opportunity',
+		enquiry_from = 'Customer' if customer else 'Lead',
+		status = 'Open',
+		title = subject,
+		contact_email = sender,
+		to_discuss = message
+	))
 
-    if customer:
-        opportunity.customer = customer[0][0]
-    elif lead:
-        opportunity.lead = lead
-    else:
-        opportunity.lead = new_lead.name
+	if customer:
+		opportunity.customer = customer[0][0]
+	elif lead:
+		opportunity.lead = lead
+	else:
+		opportunity.lead = new_lead.name
 
-    opportunity.insert(ignore_permissions=True)
+	opportunity.insert(ignore_permissions=True)
 
-    comm = frappe.get_doc({
-    	"doctype":"Communication",
-    	"subject": subject,
-    	"content": message,
-    	"sender": sender,
-    	"sent_or_received": "Received",
-    	'reference_doctype': 'Opportunity',
-    	'reference_name': opportunity.name
-    })
-    comm.insert(ignore_permissions=True)
+	comm = frappe.get_doc({
+		"doctype":"Communication",
+		"subject": subject,
+		"content": message,
+		"sender": sender,
+		"sent_or_received": "Received",
+		'reference_doctype': 'Opportunity',
+		'reference_name': opportunity.name
+	})
+	comm.insert(ignore_permissions=True)
 
-    return "okay"
+	return "okay"
