limit assigment load to appointment day
diff --git a/erpnext/crm/doctype/appointment/appointment.py b/erpnext/crm/doctype/appointment/appointment.py
index ac2e0a8..6d23f2a 100644
--- a/erpnext/crm/doctype/appointment/appointment.py
+++ b/erpnext/crm/doctype/appointment/appointment.py
@@ -21,6 +21,9 @@
 
 	def before_insert(self):
 		self.lead = _find_lead_by_email(self.lead).name
+
+
+	def after_insert(self):
 		appointment_event = frappe.get_doc({
 			'doctype': 'Event',
 			'subject': ' '.join(['Appointment with', self.customer_name]),
@@ -31,9 +34,7 @@
 		})
 		appointment_event.insert(ignore_permissions=True)
 		self.calendar_event = appointment_event.name
-
-	def after_insert(self):
-		available_agents = _get_agents_sorted_by_asc_workload()
+		available_agents = _get_agents_sorted_by_asc_workload(self.scheduled_time.date())
 		for agent in available_agents:
 			if(_check_agent_availability(agent, self.scheduled_time)):
 				agent = agent[0]
@@ -51,7 +52,7 @@
 					calendar_event.save()
 				break
 
-def _get_agents_sorted_by_asc_workload():
+def _get_agents_sorted_by_asc_workload(date):
 	appointments = frappe.db.get_list('Appointment', fields='*')
 	agent_list = _get_agent_list_as_strings()	
 	if not appointments:
@@ -61,7 +62,7 @@
 		assigned_to = frappe.parse_json(appointment._assign)
 		if not assigned_to:
 			continue
-		if assigned_to[0] in agent_list:
+		if (assigned_to[0] in agent_list) and appointment.scheduled_time.date() == date:
 			appointment_counter[assigned_to[0]] += 1
 	sorted_agent_list = appointment_counter.most_common()
 	sorted_agent_list.reverse()
@@ -69,7 +70,7 @@
 	return sorted_agent_list
 
 def _find_lead_by_email(email):
-    lead_list = frappe.get_list('Lead',filters={'email_id':email},ignore_permissions=True)
+    lead_list = frappe.get_list('Lead', filters={'email_id':email}, ignore_permissions=True)
     if lead_list:
         return lead_list[0]
     frappe.throw('Email ID not associated with any Lead. Please make sure to use the email address you got this mail on')
@@ -92,7 +93,7 @@
 
 
 def _get_employee_from_user(user):
-	employee_docname = frappe.db.exists({'doctype':'Employee','user_id':user})
+	employee_docname = frappe.db.exists({'doctype':'Employee', 'user_id':user})
 	if employee_docname:
-		return frappe.get_doc('Employee',employee_docname[0][0]) # frappe.db.exists returns a tuple of a tuple
+		return frappe.get_doc('Employee', employee_docname[0][0]) # frappe.db.exists returns a tuple of a tuple
 	return None