diff --git a/home/page/latest_updates/latest_updates.js b/home/page/latest_updates/latest_updates.js
index 24544c5..c59c5b9 100644
--- a/home/page/latest_updates/latest_updates.js
+++ b/home/page/latest_updates/latest_updates.js
@@ -1,5 +1,6 @@
 erpnext.updates = [
 	["14th November 2012", [
+		"Employee: If User ID is set, Employee Name will be updated in defaults and will appear automatically in all relevant forms.",
 		"Backups: Link to download both database and files.",
 	]],
 	["13th November 2012", [
diff --git a/hr/doctype/employee/employee.js b/hr/doctype/employee/employee.js
index c696071..769e5b6 100644
--- a/hr/doctype/employee/employee.js
+++ b/hr/doctype/employee/employee.js
@@ -8,60 +8,59 @@
 // 
 // This program is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
 // GNU General Public License for more details.
 // 
 // You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// along with this program.	If not, see <http://www.gnu.org/licenses/>.
 
-// get retirement date
-//========================================================
+cur_frm.cscript.onload = function(doc) {
+	// bc
+	var india_specific = ["esic_card_no", "gratuity_lic_id", "pan_number", "pf_number"]
+	if(wn.control_panel.country!="India") {
+		hide_field(india_specific);
+	}
+}
+
+cur_frm.cscript.refresh = function(doc) {
+	if(!doc.__islocal) {
+		hide_field("naming_series");
+		cur_frm.add_custom_button('Make Salary Structure', cur_frm.cscript['Make Salary Structure']);
+	}
+}
+
 cur_frm.cscript.date_of_birth = function(doc, dt, dn) {
-  get_server_fields('get_retirement_date','','',doc,dt,dn,1);
+	get_server_fields('get_retirement_date','','',doc,dt,dn,1);
 }
 
-// salutation-gender
-//========================================================
 cur_frm.cscript.salutation = function(doc,dt,dn) {
-  if(doc.salutation){
-    if(doc.salutation=='Mr')
-      doc.gender='Male';
-    else if(doc.salutation=='Ms')
-      doc.gender='Female';
-    refresh_field('gender');
-  }
+	if(doc.salutation){
+		if(doc.salutation=='Mr')
+			doc.gender='Male';
+		else if(doc.salutation=='Ms')
+			doc.gender='Female';
+		refresh_field('gender');
+	}
 }
 
-// On refresh
-//========================================================
-cur_frm.cscript.refresh = function(doc, dt, dn) {
-  if(doc.__islocal!=1){
-    cur_frm.add_custom_button('Make Salary Structure', cur_frm.cscript['Make Salary Structure']);
-  }  
-}
-
-//Make Salary Structure
-//========================================================
 cur_frm.cscript['Make Salary Structure']=function(){
-  $c_obj(make_doclist (doc.doctype,doc.name),'check_sal_structure',cur_frm.doc.name,function(r, rt) {
-    if(r.message)
-      alert("You have already created Active salary structure.\nIf you want to create new one, please ensure that no active salary structure exist.\nTo inactive salary structure select 'Is Active' as 'No'.");
-    else
-      cur_frm.cscript.make_salary_structure(cur_frm.doc); 
-  });
+	$c_obj(make_doclist (doc.doctype,doc.name),'check_sal_structure',cur_frm.doc.name,function(r, rt) {
+		if(r.message)
+			alert("You have already created Active salary structure.\nIf you want to create new one, please ensure that no active salary structure exist.\nTo inactive salary structure select 'Is Active' as 'No'.");
+		else
+			cur_frm.cscript.make_salary_structure(cur_frm.doc); 
+	});
 }
 
-// Load sal structure
-//========================================================
 cur_frm.cscript.make_salary_structure = function(doc,dt,dn,det){
-  var st = LocalDB.create('Salary Structure');
-  st = locals['Salary Structure'][st];
-  st.employee = doc.name;
-  st.employee_name = doc.employee_name;
-  st.branch=doc.branch;
-  st.designation=doc.designation;
-  st.department=doc.department;
-  st.fiscal_year = doc.fiscal_year
-  st.grade=doc.grade;
-  loaddoc('Salary Structure', st.name);
+	var st = LocalDB.create('Salary Structure');
+	st = locals['Salary Structure'][st];
+	st.employee = doc.name;
+	st.employee_name = doc.employee_name;
+	st.branch=doc.branch;
+	st.designation=doc.designation;
+	st.department=doc.department;
+	st.fiscal_year = doc.fiscal_year
+	st.grade=doc.grade;
+	loaddoc('Salary Structure', st.name);
 }
diff --git a/hr/doctype/employee/employee.py b/hr/doctype/employee/employee.py
index 26681dd..0be6830 100644
--- a/hr/doctype/employee/employee.py
+++ b/hr/doctype/employee/employee.py
@@ -8,128 +8,112 @@
 # 
 # This program is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
 # GNU General Public License for more details.
 # 
 # You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# along with this program.	If not, see <http://www.gnu.org/licenses/>.
 
 from __future__ import unicode_literals
 import webnotes
 
-from webnotes.utils import add_days, add_months, add_years, cint, cstr, date_diff, default_fields, flt, fmt_money, formatdate, getTraceback, get_defaults, get_first_day, get_last_day, getdate, has_common, month_name, now, nowdate, replace_newlines, sendmail, set_default, str_esc_quote, user_format, validate_email_add
-from webnotes.model import db_exists
-from webnotes.model.doc import Document, addchild, getchildren, make_autoname
-from webnotes.model.doclist import getlist, copy_doclist
-from webnotes.model.code import get_obj, get_server_obj, run_server_obj, updatedb, check_syntax
-from webnotes import session, form, msgprint, errprint
+from webnotes.utils import getdate, now, nowdate, validate_email_add
+from webnotes.model.doc import make_autoname
+from webnotes import msgprint
 
 sql = webnotes.conn.sql
-get_value = webnotes.conn.get_value
-in_transaction = webnotes.conn.in_transaction
-convert_to_lists = webnotes.conn.convert_to_lists
-
-# -----------------------------------------------------------------------------------------
-
 
 class DocType:
-  def __init__(self,doc,doclist=[]):
-    self.doc = doc
-    self.doclist = doclist
+	def __init__(self,doc,doclist=[]):
+		self.doc = doc
+		self.doclist = doclist
 
-  # Autoname
-  #========================================================================================================
-  def autoname(self):
-    ret = sql("select value from `tabSingles` where doctype = 'Global Defaults' and field = 'emp_created_by'")
-    if not ret:
-      msgprint("To Save Employee, please go to Setup -->Global Defaults. Click on HR and select 'Employee Records to be created by'.")
-      raise Exception 
-    else:
-      if ret[0][0]=='Naming Series':
-        self.doc.name = make_autoname(self.doc.naming_series + '.####')
-      elif ret[0][0]=='Employee Number':
-        self.doc.name = make_autoname(self.doc.employee_number)
-        
-  # Get retirement date
-  #========================================================================================================
-  def get_retirement_date(self):    
-    import datetime
-    ret = {}
-    if self.doc.date_of_birth:
-      dt = getdate(self.doc.date_of_birth) + datetime.timedelta(21915)
-      ret = {'date_of_retirement': dt.strftime('%Y-%m-%d')}
-    return ret
+	def autoname(self):
+		ret = sql("select value from `tabSingles` where doctype = 'Global Defaults' and field = 'emp_created_by'")
+		if not ret:
+			msgprint("Please setup Employee Naming System in Setup > Global Defaults > HR", raise_exception=True)
+		else:
+			if ret[0][0]=='Naming Series':
+				self.doc.name = make_autoname(self.doc.naming_series + '.####')
+			elif ret[0][0]=='Employee Number':
+				self.doc.name = make_autoname(self.doc.employee_number)
+				
+	def get_retirement_date(self):		
+		import datetime
+		ret = {}
+		if self.doc.date_of_birth:
+			dt = getdate(self.doc.date_of_birth) + datetime.timedelta(21915)
+			ret = {'date_of_retirement': dt.strftime('%Y-%m-%d')}
+		return ret
 
-  # check if salary structure exists
-  #========================================================================================================
-  def check_sal_structure(self, nm):
-    ret_sal_struct=sql("select name from `tabSalary Structure` where employee='%s' and is_active = 'Yes' and docstatus!= 2"%nm)
-    return ret_sal_struct and ret_sal_struct[0][0] or ''
+	def check_sal_structure(self, nm):
+		ret_sal_struct=sql("select name from `tabSalary Structure` where employee='%s' and is_active = 'Yes' and docstatus!= 2"%nm)
+		return ret_sal_struct and ret_sal_struct[0][0] or ''
 
-  #========================================================================================================
-  def validate(self):
-    self.validate_date()
-    self.validate_email()
-    self.validate_name()
-    self.validate_status()
-  
-  # Validate dates
-  #========================================================================================================
-  def validate_date(self):  
-    import datetime
-    if self.doc.date_of_birth and self.doc.date_of_joining and getdate(self.doc.date_of_birth) >= getdate(self.doc.date_of_joining):
-      msgprint('Date of Joining must be greater than Date of Birth')
-      raise Exception
+	def validate(self):
+		self.validate_date()
+		self.validate_email()
+		self.validate_name()
+		self.validate_status()
+	
+	def on_update(self):
+		self.update_user_default()
+	
+	def update_user_default(self):
+		if self.doc.user_id:
+			webnotes.conn.set_default("employee", self.doc.name, self.doc.user_id)
+			webnotes.conn.set_default("employee_name", self.doc.employee_name, self.doc.user_id)
+			webnotes.conn.set_default("company", self.doc.company, self.doc.user_id)
+	
+	def validate_date(self):
+		import datetime
+		if self.doc.date_of_birth and self.doc.date_of_joining and getdate(self.doc.date_of_birth) >= getdate(self.doc.date_of_joining):
+			msgprint('Date of Joining must be greater than Date of Birth')
+			raise Exception
 
-    elif self.doc.scheduled_confirmation_date and self.doc.date_of_joining and (getdate(self.doc.scheduled_confirmation_date) < getdate(self.doc.date_of_joining)):
-      msgprint('Scheduled Confirmation Date must be greater than Date of Joining')
-      raise Exception
-    
-    elif self.doc.final_confirmation_date and self.doc.date_of_joining and (getdate(self.doc.final_confirmation_date) < getdate(self.doc.date_of_joining)):
-      msgprint('Final Confirmation Date must be greater than Date of Joining')
-      raise Exception
-    
-    elif self.doc.date_of_retirement and self.doc.date_of_joining and (getdate(self.doc.date_of_retirement) <= getdate(self.doc.date_of_joining)):
-      msgprint('Date Of Retirement must be greater than Date of Joining')
-      raise Exception
-    
-    elif self.doc.relieving_date and self.doc.date_of_joining and (getdate(self.doc.relieving_date) <= getdate(self.doc.date_of_joining)):
-      msgprint('Relieving Date must be greater than Date of Joining')
-      raise Exception
-    
-    elif self.doc.contract_end_date and self.doc.date_of_joining and (getdate(self.doc.contract_end_date)<=getdate(self.doc.date_of_joining)):
-      msgprint('Contract End Date must be greater than Date of Joining')
-      raise Exception
-   
-  # Validate email id
-  #========================================================================================================
-  def validate_email(self):
-    if self.doc.company_email and not validate_email_add(self.doc.company_email):
-      msgprint("Please enter valid Company Email")
-      raise Exception
-    if self.doc.personal_email and not validate_email_add(self.doc.personal_email):
-      msgprint("Please enter valid Personal Email")
-      raise Exception
+		elif self.doc.scheduled_confirmation_date and self.doc.date_of_joining and (getdate(self.doc.scheduled_confirmation_date) < getdate(self.doc.date_of_joining)):
+			msgprint('Scheduled Confirmation Date must be greater than Date of Joining')
+			raise Exception
+		
+		elif self.doc.final_confirmation_date and self.doc.date_of_joining and (getdate(self.doc.final_confirmation_date) < getdate(self.doc.date_of_joining)):
+			msgprint('Final Confirmation Date must be greater than Date of Joining')
+			raise Exception
+		
+		elif self.doc.date_of_retirement and self.doc.date_of_joining and (getdate(self.doc.date_of_retirement) <= getdate(self.doc.date_of_joining)):
+			msgprint('Date Of Retirement must be greater than Date of Joining')
+			raise Exception
+		
+		elif self.doc.relieving_date and self.doc.date_of_joining and (getdate(self.doc.relieving_date) <= getdate(self.doc.date_of_joining)):
+			msgprint('Relieving Date must be greater than Date of Joining')
+			raise Exception
+		
+		elif self.doc.contract_end_date and self.doc.date_of_joining and (getdate(self.doc.contract_end_date)<=getdate(self.doc.date_of_joining)):
+			msgprint('Contract End Date must be greater than Date of Joining')
+			raise Exception
+	 
+	def validate_email(self):
+		if self.doc.company_email and not validate_email_add(self.doc.company_email):
+			msgprint("Please enter valid Company Email")
+			raise Exception
+		if self.doc.personal_email and not validate_email_add(self.doc.personal_email):
+			msgprint("Please enter valid Personal Email")
+			raise Exception
 
-  # Validate name
-  #========================================================================================================
-  def validate_name(self):  
-    ret = sql("select value from `tabSingles` where doctype = 'Global Defaults' and field = 'emp_created_by'")
+	def validate_name(self):	
+		ret = sql("select value from `tabSingles` where doctype = 'Global Defaults' and field = 'emp_created_by'")
 
-    if not ret:
-      msgprint("To Save Employee, please go to Setup -->Global Defaults. Click on HR and select 'Employee Records to be created by'.")
-      raise Exception 
-    else:
-      if ret[0][0]=='Naming Series' and not self.doc.naming_series:
-        msgprint("Please select Naming Series.")
-        raise Exception 
-      elif ret[0][0]=='Employee Number' and not self.doc.employee_number:
-        msgprint("Please enter Employee Number.")
-        raise Exception 
-        
-  # Validate status
-  #========================================================================================================
-  def validate_status(self):
-    if self.doc.status == 'Left' and not self.doc.relieving_date:
-      msgprint("Please enter relieving date.")
-      raise Exception
+		if not ret:
+			msgprint("To Save Employee, please go to Setup -->Global Defaults. Click on HR and select 'Employee Records to be created by'.")
+			raise Exception 
+		else:
+			if ret[0][0]=='Naming Series' and not self.doc.naming_series:
+				msgprint("Please select Naming Series.")
+				raise Exception 
+			elif ret[0][0]=='Employee Number' and not self.doc.employee_number:
+				msgprint("Please enter Employee Number.")
+				raise Exception 
+				
+	def validate_status(self):
+		if self.doc.status == 'Left' and not self.doc.relieving_date:
+			msgprint("Please enter relieving date.")
+			raise Exception
diff --git a/hr/doctype/employee/employee.txt b/hr/doctype/employee/employee.txt
index d9e2c1f..d7eab4a 100644
--- a/hr/doctype/employee/employee.txt
+++ b/hr/doctype/employee/employee.txt
@@ -3,11 +3,11 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2012-03-27 14:35:55',
-		'docstatus': 0,
-		'modified': '2012-03-27 14:35:55',
-		'modified_by': u'Administrator',
-		'owner': u'Administrator'
+		u'creation': '2012-07-03 13:30:40',
+		u'docstatus': 0,
+		u'modified': '2012-11-14 16:12:10',
+		u'modified_by': u'Administrator',
+		u'owner': u'Administrator'
 	},
 
 	# These values are common for all DocType
@@ -16,23 +16,23 @@
 		'allow_attach': 1,
 		'allow_trash': 1,
 		'colour': u'White:FFF',
-		'doctype': 'DocType',
+		u'doctype': u'DocType',
 		'document_type': u'Master',
 		'module': u'HR',
-		'name': '__common__',
+		u'name': u'__common__',
 		'search_fields': u'employee_name',
 		'section_style': u'Tabbed',
 		'server_code_error': u' ',
 		'show_in_menu': 0,
 		'subject': u'%(employee_name)s',
 		'tag_fields': u'status',
-		'version': 444
+		'version': 1
 	},
 
 	# These values are common for all DocField
 	{
-		'doctype': u'DocField',
-		'name': '__common__',
+		u'doctype': u'DocField',
+		u'name': u'__common__',
 		'parent': u'Employee',
 		'parentfield': u'fields',
 		'parenttype': u'DocType'
@@ -40,8 +40,8 @@
 
 	# These values are common for all DocPerm
 	{
-		'doctype': u'DocPerm',
-		'name': '__common__',
+		u'doctype': u'DocPerm',
+		u'name': u'__common__',
 		'parent': u'Employee',
 		'parentfield': u'permissions',
 		'parenttype': u'DocType',
@@ -50,102 +50,13 @@
 
 	# DocType, Employee
 	{
-		'doctype': 'DocType',
-		'name': u'Employee'
-	},
-
-	# DocPerm
-	{
-		'doctype': u'DocPerm',
-		'permlevel': 1,
-		'role': u'All'
-	},
-
-	# DocPerm
-	{
-		'cancel': 1,
-		'create': 1,
-		'doctype': u'DocPerm',
-		'permlevel': 0,
-		'role': u'HR User',
-		'write': 1
-	},
-
-	# DocPerm
-	{
-		'cancel': 1,
-		'create': 1,
-		'doctype': u'DocPerm',
-		'permlevel': 0,
-		'role': u'HR Manager',
-		'write': 1
-	},
-
-	# DocPerm
-	{
-		'doctype': u'DocPerm',
-		'permlevel': 1,
-		'role': u'HR User'
-	},
-
-	# DocPerm
-	{
-		'doctype': u'DocPerm',
-		'permlevel': 1,
-		'role': u'HR Manager'
-	},
-
-	# DocPerm
-	{
-		'amend': 0,
-		'cancel': 0,
-		'create': 0,
-		'doctype': u'DocPerm',
-		'match': u'owner',
-		'permlevel': 0,
-		'submit': 0,
-		'write': 0
-	},
-
-	# DocPerm
-	{
-		'amend': 0,
-		'cancel': 0,
-		'create': 0,
-		'doctype': u'DocPerm',
-		'match': u'owner',
-		'permlevel': 0,
-		'submit': 0,
-		'write': 0
-	},
-
-	# DocPerm
-	{
-		'amend': 0,
-		'cancel': 0,
-		'create': 0,
-		'doctype': u'DocPerm',
-		'match': u'owner',
-		'permlevel': 0,
-		'submit': 0,
-		'write': 0
-	},
-
-	# DocPerm
-	{
-		'amend': 0,
-		'cancel': 0,
-		'create': 0,
-		'doctype': u'DocPerm',
-		'match': u'owner',
-		'permlevel': 0,
-		'submit': 0,
-		'write': 0
+		u'doctype': u'DocType',
+		u'name': u'Employee'
 	},
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'basic_information',
 		'fieldtype': u'Section Break',
 		'label': u'Basic Information',
@@ -155,7 +66,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'column_break0',
 		'fieldtype': u'Column Break',
 		'permlevel': 0,
@@ -164,8 +75,9 @@
 
 	# DocField
 	{
-		'description': u'To manage multiple series please go to Setup > Manage Series',
-		'doctype': u'DocField',
+		'colour': u'White:FFF',
+		'description': u'<span class="sys_manager">To setup, please go to Setup > Naming Series</span>',
+		u'doctype': u'DocField',
 		'fieldname': u'naming_series',
 		'fieldtype': u'Select',
 		'label': u'Naming Series',
@@ -180,7 +92,7 @@
 	# DocField
 	{
 		'colour': u'White:FFF',
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'salutation',
 		'fieldtype': u'Select',
 		'label': u'Salutation',
@@ -195,10 +107,10 @@
 	# DocField
 	{
 		'colour': u'White:FFF',
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'employee_name',
 		'fieldtype': u'Data',
-		'label': u'Employee Name',
+		'label': u'Full Name',
 		'oldfieldname': u'employee_name',
 		'oldfieldtype': u'Data',
 		'permlevel': 0,
@@ -207,7 +119,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'employee_number',
 		'fieldtype': u'Data',
 		'in_filter': 1,
@@ -221,7 +133,28 @@
 	# DocField
 	{
 		'colour': u'White:FFF',
-		'doctype': u'DocField',
+		'description': u'System User (login) ID. If set, it will become default for all HR forms.',
+		u'doctype': u'DocField',
+		'fieldname': u'user_id',
+		'fieldtype': u'Link',
+		'label': u'User ID',
+		'options': u'Profile',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		u'doctype': u'DocField',
+		'fieldname': u'column_break1',
+		'fieldtype': u'Column Break',
+		'permlevel': 0,
+		'width': u'50%'
+	},
+
+	# DocField
+	{
+		'colour': u'White:FFF',
+		u'doctype': u'DocField',
 		'fieldname': u'date_of_joining',
 		'fieldtype': u'Date',
 		'label': u'Date of Joining',
@@ -234,7 +167,7 @@
 	# DocField
 	{
 		'colour': u'White:FFF',
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'date_of_birth',
 		'fieldtype': u'Date',
 		'in_filter': 1,
@@ -249,7 +182,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'gender',
 		'fieldtype': u'Select',
 		'in_filter': 1,
@@ -264,7 +197,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'company',
 		'fieldtype': u'Select',
 		'in_filter': 1,
@@ -277,18 +210,26 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
-		'fieldname': u'column_break1',
+		u'doctype': u'DocField',
+		'fieldname': u'employment_details',
+		'fieldtype': u'Section Break',
+		'label': u'Employment Details',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		u'doctype': u'DocField',
+		'fieldname': u'col_break_21',
 		'fieldtype': u'Column Break',
-		'permlevel': 0,
-		'width': u'50%'
+		'permlevel': 0
 	},
 
 	# DocField
 	{
 		'colour': u'White:FFF',
 		'default': u'Active',
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'status',
 		'fieldtype': u'Select',
 		'in_filter': 1,
@@ -303,7 +244,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'employment_type',
 		'fieldtype': u'Link',
 		'in_filter': 1,
@@ -317,7 +258,29 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		'colour': u'White:FFF',
+		'description': u'Applicable Holiday List',
+		u'doctype': u'DocField',
+		'fieldname': u'holiday_list',
+		'fieldtype': u'Link',
+		'label': u'Holiday List',
+		'oldfieldname': u'holiday_list',
+		'oldfieldtype': u'Link',
+		'options': u'Holiday List',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		u'doctype': u'DocField',
+		'fieldname': u'col_break_22',
+		'fieldtype': u'Column Break',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		u'doctype': u'DocField',
 		'fieldname': u'scheduled_confirmation_date',
 		'fieldtype': u'Date',
 		'in_filter': 1,
@@ -330,7 +293,8 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		'colour': u'White:FFF',
+		u'doctype': u'DocField',
 		'fieldname': u'final_confirmation_date',
 		'fieldtype': u'Date',
 		'label': u'Final Confirmation Date',
@@ -342,7 +306,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'contract_end_date',
 		'fieldtype': u'Date',
 		'in_filter': 1,
@@ -355,7 +319,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'date_of_retirement',
 		'fieldtype': u'Date',
 		'label': u'Date Of Retirement',
@@ -366,21 +330,7 @@
 
 	# DocField
 	{
-		'colour': u'White:FFF',
-		'description': u'Applicable Holiday List',
-		'doctype': u'DocField',
-		'fieldname': u'holiday_list',
-		'fieldtype': u'Link',
-		'label': u'Holiday List',
-		'oldfieldname': u'holiday_list',
-		'oldfieldtype': u'Link',
-		'options': u'Holiday List',
-		'permlevel': 0
-	},
-
-	# DocField
-	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'job_profile',
 		'fieldtype': u'Section Break',
 		'label': u'Job Profile',
@@ -389,7 +339,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'column_break2',
 		'fieldtype': u'Column Break',
 		'permlevel': 0,
@@ -399,7 +349,7 @@
 	# DocField
 	{
 		'colour': u'White:FFF',
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'branch',
 		'fieldtype': u'Link',
 		'in_filter': 1,
@@ -414,7 +364,7 @@
 	# DocField
 	{
 		'colour': u'White:FFF',
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'department',
 		'fieldtype': u'Link',
 		'in_filter': 1,
@@ -429,7 +379,7 @@
 	# DocField
 	{
 		'colour': u'White:FFF',
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'designation',
 		'fieldtype': u'Link',
 		'in_filter': 1,
@@ -445,7 +395,7 @@
 	# DocField
 	{
 		'colour': u'White:FFF',
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'grade',
 		'fieldtype': u'Link',
 		'in_filter': 1,
@@ -459,7 +409,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'reports_to',
 		'fieldtype': u'Link',
 		'label': u'Reports to',
@@ -472,7 +422,7 @@
 	# DocField
 	{
 		'description': u'Provide email id registered in company',
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'company_email',
 		'fieldtype': u'Data',
 		'in_filter': 1,
@@ -485,7 +435,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'salary_information',
 		'fieldtype': u'Column Break',
 		'label': u'Salary Information',
@@ -497,7 +447,7 @@
 	# DocField
 	{
 		'colour': u'White:FFF',
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'salary_mode',
 		'fieldtype': u'Select',
 		'label': u'Salary Mode',
@@ -512,7 +462,7 @@
 	{
 		'colour': u'White:FFF',
 		'depends_on': u"eval:doc.salary_mode == 'Bank'",
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'bank_name',
 		'fieldtype': u'Data',
 		'hidden': 0,
@@ -528,7 +478,7 @@
 	{
 		'colour': u'White:FFF',
 		'depends_on': u"eval:doc.salary_mode == 'Bank'",
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'bank_ac_no',
 		'fieldtype': u'Data',
 		'hidden': 0,
@@ -540,7 +490,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'esic_card_no',
 		'fieldtype': u'Data',
 		'label': u'ESIC CARD No',
@@ -551,7 +501,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'pf_number',
 		'fieldtype': u'Data',
 		'label': u'PF Number',
@@ -562,7 +512,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'gratuity_lic_id',
 		'fieldtype': u'Data',
 		'label': u'Gratuity LIC ID',
@@ -573,7 +523,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'contact_details',
 		'fieldtype': u'Section Break',
 		'label': u'Contact Details',
@@ -582,7 +532,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'column_break3',
 		'fieldtype': u'Column Break',
 		'permlevel': 0,
@@ -591,7 +541,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'cell_number',
 		'fieldtype': u'Data',
 		'label': u'Cell Number',
@@ -600,7 +550,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'personal_email',
 		'fieldtype': u'Data',
 		'label': u'Personal Email',
@@ -609,7 +559,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'notice_number_of_days',
 		'fieldtype': u'Int',
 		'label': u'Notice - Number of Days',
@@ -620,7 +570,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'emergency_contact_details',
 		'fieldtype': u'HTML',
 		'label': u'Emergency Contact Details',
@@ -630,7 +580,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'person_to_be_contacted',
 		'fieldtype': u'Data',
 		'label': u'Person To Be Contacted',
@@ -639,7 +589,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'relation',
 		'fieldtype': u'Data',
 		'label': u'Relation',
@@ -648,7 +598,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'emergency_phone_number',
 		'fieldtype': u'Data',
 		'label': u'Emergency Phone Number',
@@ -657,7 +607,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'column_break4',
 		'fieldtype': u'Column Break',
 		'permlevel': 0,
@@ -666,7 +616,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'permanent_accommodation_type',
 		'fieldtype': u'Select',
 		'label': u'Permanent Accommodation Type',
@@ -676,7 +626,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'permanent_address',
 		'fieldtype': u'Small Text',
 		'label': u'Permanent Address',
@@ -685,7 +635,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'current_accommodation_type',
 		'fieldtype': u'Select',
 		'label': u'Current Accommodation Type',
@@ -695,7 +645,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'current_address',
 		'fieldtype': u'Small Text',
 		'label': u'Current Address',
@@ -704,7 +654,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'personal_details',
 		'fieldtype': u'Section Break',
 		'label': u'Personal Details',
@@ -713,7 +663,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'column_break5',
 		'fieldtype': u'Column Break',
 		'permlevel': 0,
@@ -722,7 +672,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'pan_number',
 		'fieldtype': u'Data',
 		'label': u'PAN Number',
@@ -731,7 +681,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'passport_number',
 		'fieldtype': u'Data',
 		'label': u'Passport Number',
@@ -740,20 +690,7 @@
 
 	# DocField
 	{
-		'colour': u'White:FFF',
-		'doctype': u'DocField',
-		'fieldname': u'employee_profile',
-		'fieldtype': u'Button',
-		'hidden': 1,
-		'label': u'Employee Profile',
-		'oldfieldtype': u'Button',
-		'permlevel': 0,
-		'trigger': u'Client'
-	},
-
-	# DocField
-	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'date_of_issue',
 		'fieldtype': u'Date',
 		'label': u'Date of Issue',
@@ -762,7 +699,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'valid_upto',
 		'fieldtype': u'Date',
 		'label': u'Valid Upto',
@@ -772,7 +709,7 @@
 	# DocField
 	{
 		'colour': u'White:FFF',
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'salary_structure',
 		'fieldtype': u'Button',
 		'hidden': 1,
@@ -784,7 +721,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'place_of_issue',
 		'fieldtype': u'Data',
 		'label': u'Place of Issue',
@@ -793,7 +730,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'marital_status',
 		'fieldtype': u'Select',
 		'label': u'Marital Status',
@@ -803,7 +740,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'blood_group',
 		'fieldtype': u'Select',
 		'label': u'Blood Group',
@@ -813,7 +750,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'column_break6',
 		'fieldtype': u'Column Break',
 		'permlevel': 0,
@@ -824,7 +761,7 @@
 	{
 		'colour': u'White:FFF',
 		'description': u'Here you can maintain family details like name and occupation of parent, spouse and children',
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'family_background',
 		'fieldtype': u'Small Text',
 		'label': u'Family Background',
@@ -835,7 +772,7 @@
 	{
 		'colour': u'White:FFF',
 		'description': u'Here you can maintain height, weight, allergies, medical concerns etc',
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'health_details',
 		'fieldtype': u'Small Text',
 		'label': u'Health Details',
@@ -844,7 +781,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'educational_qualification',
 		'fieldtype': u'Section Break',
 		'label': u'Educational Qualification',
@@ -853,7 +790,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'educational_qualification_details',
 		'fieldtype': u'Table',
 		'label': u'Educational Qualification Details',
@@ -863,7 +800,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'career_history',
 		'fieldtype': u'Section Break',
 		'label': u'Career History',
@@ -872,7 +809,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'previous_work_experience',
 		'fieldtype': u'Section Break',
 		'label': u'Previous Work Experience',
@@ -882,7 +819,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'previous_experience_details',
 		'fieldtype': u'Table',
 		'label': u'Employee External Work History',
@@ -892,7 +829,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'history_in_company',
 		'fieldtype': u'Section Break',
 		'label': u'History In Company',
@@ -902,7 +839,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'experience_in_company_details',
 		'fieldtype': u'Table',
 		'label': u'Employee Internal Work Historys',
@@ -912,7 +849,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'exit',
 		'fieldtype': u'Section Break',
 		'label': u'Exit',
@@ -922,7 +859,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'column_break7',
 		'fieldtype': u'Column Break',
 		'permlevel': 0,
@@ -931,7 +868,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'resignation_letter_date',
 		'fieldtype': u'Date',
 		'label': u'Resignation Letter Date',
@@ -942,7 +879,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'relieving_date',
 		'fieldtype': u'Date',
 		'in_filter': 1,
@@ -954,7 +891,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'reason_for_leaving',
 		'fieldtype': u'Data',
 		'label': u'Reason for Leaving',
@@ -965,7 +902,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'leave_encashed',
 		'fieldtype': u'Select',
 		'label': u'Leave Encashed?',
@@ -977,7 +914,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'encashment_date',
 		'fieldtype': u'Date',
 		'label': u'Encashment Date',
@@ -988,7 +925,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'exit_interview_details',
 		'fieldtype': u'Column Break',
 		'label': u'Exit Interview Details',
@@ -1000,7 +937,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'held_on',
 		'fieldtype': u'Date',
 		'label': u'Held On',
@@ -1011,7 +948,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'reason_for_resignation',
 		'fieldtype': u'Select',
 		'label': u'Reason for Resignation',
@@ -1023,7 +960,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'new_workplace',
 		'fieldtype': u'Data',
 		'label': u'New Workplace',
@@ -1034,7 +971,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'feedback',
 		'fieldtype': u'Small Text',
 		'label': u'Feedback',
@@ -1045,7 +982,7 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'file_list',
 		'fieldtype': u'Text',
 		'hidden': 1,
@@ -1056,12 +993,77 @@
 
 	# DocField
 	{
-		'doctype': u'DocField',
+		u'doctype': u'DocField',
 		'fieldname': u'trash_reason',
 		'fieldtype': u'Small Text',
 		'label': u'Trash Reason',
 		'oldfieldname': u'trash_reason',
 		'oldfieldtype': u'Small Text',
 		'permlevel': 1
+	},
+
+	# DocPerm
+	{
+		'amend': 0,
+		'cancel': 0,
+		'create': 0,
+		u'doctype': u'DocPerm',
+		'permlevel': 0,
+		'role': u'Employee',
+		'submit': 0,
+		'write': 0
+	},
+
+	# DocPerm
+	{
+		'amend': 0,
+		'cancel': 0,
+		'create': 0,
+		u'doctype': u'DocPerm',
+		'permlevel': 0,
+		'role': u'Employee',
+		'submit': 0,
+		'write': 0
+	},
+
+	# DocPerm
+	{
+		u'doctype': u'DocPerm',
+		'permlevel': 1,
+		'role': u'All'
+	},
+
+	# DocPerm
+	{
+		'cancel': 1,
+		'create': 1,
+		u'doctype': u'DocPerm',
+		'permlevel': 0,
+		'role': u'HR User',
+		'write': 1
+	},
+
+	# DocPerm
+	{
+		'cancel': 1,
+		'create': 1,
+		u'doctype': u'DocPerm',
+		'permlevel': 0,
+		'role': u'HR Manager',
+		'write': 1
+	},
+
+	# DocPerm
+	{
+		u'doctype': u'DocPerm',
+		'permlevel': 1,
+		'role': u'HR User'
+	},
+
+	# DocPerm
+	{
+		u'doctype': u'DocPerm',
+		'permlevel': 1,
+		'role': u'HR Manager'
 	}
-]
+]
\ No newline at end of file
