fix: removed unused data and minor changes
diff --git a/erpnext/crm/doctype/appointment/appointment.py b/erpnext/crm/doctype/appointment/appointment.py
index a4e00d6..bd49bdc 100644
--- a/erpnext/crm/doctype/appointment/appointment.py
+++ b/erpnext/crm/doctype/appointment/appointment.py
@@ -136,15 +136,14 @@
 		if existing_assignee:
 			# If the latest opportunity is assigned to someone
 			# Assign the appointment to the same
-			assign_agents(self.doctype, self.name, [existing_assignee])
+			self.assign_agent(existing_assignee)
 			return
 		if self._assign:
 			return
 		available_agents = _get_agents_sorted_by_asc_workload(getdate(self.scheduled_time))
 		for agent in available_agents:
 			if _check_agent_availability(agent, self.scheduled_time):
-				agent = agent[0]
-				assign_agents(self.doctype, self.name, [agent])
+				self.assign_agent(agent[0])
 			break
 
 	def get_assignee_from_latest_opportunity(self):
@@ -199,6 +198,12 @@
 		params = {"email": self.customer_email, "appointment": self.name}
 		return get_url(verify_route + "?" + get_signed_params(params))
 
+	def assign_agent(self, agent):
+		if not frappe.has_permission(doc=self, user=agent):
+			add_docshare(self.doctype, self.name, agent, flags={"ignore_share_permission": True})
+
+		add_assignment({"doctype": self.doctype, "name": self.name, "assign_to": [agent]})
+
 
 def _get_agents_sorted_by_asc_workload(date):
 	appointments = frappe.get_all("Appointment", fields="*")
@@ -240,11 +245,3 @@
 	if employee_docname:
 		return frappe.get_doc("Employee", employee_docname)
 	return None
-
-
-def assign_agents(doctype: str, name: str, agents: list[str]) -> None:
-	for agent in agents:
-		if not frappe.has_permission(doctype=doctype, doc=name, user=agent):
-			add_docshare(doctype, name, agent, flags={"ignore_share_permission": True})
-
-	add_assignment({"doctype": doctype, "name": name, "assign_to": agents})
diff --git a/erpnext/www/book_appointment/index.js b/erpnext/www/book_appointment/index.js
index 46ac155..d02cdad 100644
--- a/erpnext/www/book_appointment/index.js
+++ b/erpnext/www/book_appointment/index.js
@@ -2,8 +2,6 @@
     initialise_select_date();
 })
 
-window.holiday_list = [];
-
 async function initialise_select_date() {
     navigate_to_page(1);
     await get_global_variables();
@@ -20,7 +18,6 @@
     window.timezones = (await frappe.call({
         method:'erpnext.www.book_appointment.index.get_timezones'
     })).message;
-    window.holiday_list = window.appointment_settings.holiday_list;
 }
 
 function setup_timezone_selector() {
diff --git a/erpnext/www/book_appointment/index.py b/erpnext/www/book_appointment/index.py
index 8cb6627..dfca946 100644
--- a/erpnext/www/book_appointment/index.py
+++ b/erpnext/www/book_appointment/index.py
@@ -29,7 +29,7 @@
 	settings = frappe.get_cached_value(
 		"Appointment Booking Settings",
 		None,
-		["holiday_list", "advance_booking_days", "appointment_duration", "success_redirect_url"],
+		["advance_booking_days", "appointment_duration", "success_redirect_url"],
 		as_dict=True,
 	)
 	return settings
@@ -94,26 +94,22 @@
 
 @frappe.whitelist(allow_guest=True)
 def create_appointment(date, time, tz, contact):
-	contact = json.loads(contact)
-	datetime_obj = datetime.datetime.strptime(date + " " + time, "%Y-%m-%d %H:%M:%S")
+	format_string = "%Y-%m-%d %H:%M:%S"
+	scheduled_time = datetime.datetime.strptime(date + " " + time, format_string)
 	# Strip tzinfo from datetime objects since it's handled by the doctype
-	scheduled_time_obj = datetime_obj.replace(tzinfo=None)
-	scheduled_time = convert_to_system_timezone(tz, scheduled_time_obj)
 	scheduled_time = scheduled_time.replace(tzinfo=None)
-
+	scheduled_time = convert_to_system_timezone(tz, scheduled_time)
+	scheduled_time = scheduled_time.replace(tzinfo=None)
 	# Create a appointment document from form
 	appointment = frappe.new_doc("Appointment")
-	appointment.update(
-		{
-			"scheduled_time": scheduled_time,
-			"customer_name": contact.get("name", None),
-			"customer_phone_number": contact.get("number", None),
-			"customer_skype": contact.get("skype", None),
-			"customer_details": contact.get("notes", None),
-			"customer_email": contact.get("email", None),
-			"status": "Open",
-		}
-	)
+	appointment.scheduled_time = scheduled_time
+	contact = json.loads(contact)
+	appointment.customer_name = contact.get("name", None)
+	appointment.customer_phone_number = contact.get("number", None)
+	appointment.customer_skype = contact.get("skype", None)
+	appointment.customer_details = contact.get("notes", None)
+	appointment.customer_email = contact.get("email", None)
+	appointment.status = "Open"
 	appointment.insert(ignore_permissions=True)
 	return appointment