diff --git a/custom_ui/api/db/clients.py b/custom_ui/api/db/clients.py
index e89ecbf..5c8aae8 100644
--- a/custom_ui/api/db/clients.py
+++ b/custom_ui/api/db/clients.py
@@ -9,6 +9,101 @@ from custom_ui.services import AddressService, ContactService, ClientService
# CLIENT MANAGEMENT API METHODS
# ===============================================================================
+@frappe.whitelist()
+def add_addresses_contacts(client_name, company_name, addresses=[], contacts=[]):
+ if isinstance(addresses, str):
+ addresses = json.loads(addresses)
+ if isinstance(contacts, str):
+ contacts = json.loads(contacts)
+ print(f"DEBUG: add_addresses_contacts called with client_name: {client_name}, addresses: {addresses}, contacts: {contacts}")
+ try:
+ client_doc = ClientService.get_client_or_throw(client_name)
+ if contacts:
+ contact_docs = [frappe.get_doc("Contact", contact.contact) for contact in client_doc.contacts]
+ for contact in contacts:
+ contact_doc = None
+ if frappe.db.exists("Contact", {"email_id": contact.get("email")}):
+ contact_doc = frappe.get_doc("Contact", {"email_id": contact.get("email")})
+ else:
+ contact_doc = ContactService.create({
+ "first_name": contact.get("first_name"),
+ "last_name": contact.get("last_name"),
+ "email_id": contact.get("email"),
+ "role": contact.get("role"),
+ "phone": contact.get("phone"),
+ "custom_email": contact.get("email"),
+ "is_primary_contact": 0,
+ "customer_type": client_doc.doctype,
+ "customer_name": client_doc.name,
+ "email_ids": [{
+ "email": contact.get("email"),
+ "is_primary": 1
+ }],
+ "phone_nos": [{
+ "phone": contact.get("phone"),
+ "is_primary_phone": 1,
+ "is_primary_mobile_no": 1
+ }]
+ })
+ contact_doc.insert()
+ ClientService.append_link_v2(client_doc.name, "contacts", {"contact": contact_doc.name})
+ ContactService.link_contact_to_customer(contact_doc, client_doc.doctype, client_doc.name)
+ contact_docs.append(contact_doc)
+ address_docs = [frappe.get_doc("Address", link.address) for link in client_doc.properties]
+ for address in addresses:
+ address_doc = None
+ if frappe.db.exists("Address", {
+ "address_line1": address.get("address_line1"),
+ "address_line2": address.get("address_line2"),
+ "city": address.get("city"),
+ # "state": address.get("state"),
+ "pincode": address.get("pincode")
+ }):
+ address_doc = frappe.get_doc("Address", {
+ "address_line1": address.get("address_line1"),
+ "address_line2": address.get("address_line2"),
+ "city": address.get("city"),
+ # "state": address.get("state"),
+ "pincode": address.get("pincode")
+ })
+ else:
+ address_doc = AddressService.create({
+ "address_title": AddressService.build_address_title(customer_name=client_name, address_data=address),
+ "address_line1": address.get("address_line1"),
+ "address_line2": address.get("address_line2"),
+ "city": address.get("city"),
+ "state": address.get("state"),
+ "pincode": address.get("pincode"),
+ "country": "United States",
+ "address_type": "Service",
+ "custom_billing_address": 0,
+ "is_primary_address": 0,
+ "is_service_address": 1,
+ "customer_type": client_doc.doctype,
+ "customer_name": client_doc.name
+ })
+ address_doc.insert()
+ if company_name not in [company.company for company in address_doc.companies]:
+ address_doc.append("companies", {"company": company_name})
+ address_doc.save(ignore_permissions=True)
+ AddressService.link_address_to_customer(address_doc, client_doc.doctype, client_doc.name)
+ for contact_to_link_idx in address.get("contacts", []):
+ contact_doc = contact_docs[contact_to_link_idx]
+ AddressService.link_address_to_contact(address_doc, contact_doc.name)
+ ContactService.link_contact_to_address(contact_doc, address_doc.name)
+ primary_contact = contact_docs[address.get("primary_contact", 0)]
+ AddressService.set_primary_contact(address_doc.name, primary_contact.name)
+ ClientService.append_link_v2(client_doc.name, "properties", {"address": address_doc.name})
+ address_docs.append(address_doc)
+
+ return build_success_response({
+ "contacts": [contact.as_dict() for contact in contact_docs],
+ "addresses": [address.as_dict() for address in address_docs],
+ "message": "Addresses and contacts added successfully."
+ })
+ except Exception as e:
+ return build_error_response(str(e), 500)
+
@frappe.whitelist()
def check_client_exists(client_name):
"""Check if a client exists as either a Customer or a Lead.
diff --git a/custom_ui/api/db/service_appointments.py b/custom_ui/api/db/service_appointments.py
index d02e707..c626831 100644
--- a/custom_ui/api/db/service_appointments.py
+++ b/custom_ui/api/db/service_appointments.py
@@ -61,7 +61,7 @@ def get_unscheduled_service_appointments(companies):
return build_error_response(str(e), 500)
@frappe.whitelist()
-def update_service_appointment_scheduled_dates(service_appointment_name: str, start_date, end_date, crew_lead_name, start_time=None, end_time=None):
+def update_service_appointment_scheduled_dates(service_appointment_name: str, start_date, end_date, crew_lead_name, skipped_days=[], start_time=None, end_time=None):
"""Update scheduled dates for a Service Appointment."""
print(f"DEBUG: Updating scheduled dates for Service Appointment {service_appointment_name} to start: {start_date}, end: {end_date}, crew lead: {crew_lead_name}, start time: {start_time}, end time: {end_time}")
try:
@@ -71,7 +71,8 @@ def update_service_appointment_scheduled_dates(service_appointment_name: str, st
start_date,
end_date,
start_time,
- end_time
+ end_time,
+ skip_days=skipped_days
)
return build_success_response(updated_service_appointment.as_dict())
except Exception as e:
diff --git a/custom_ui/fixtures/company.json b/custom_ui/fixtures/company.json
index 39bffd3..8a3778c 100644
--- a/custom_ui/fixtures/company.json
+++ b/custom_ui/fixtures/company.json
@@ -61,7 +61,7 @@
"expenses_included_in_valuation": "Expenses Included In Valuation - VS",
"fax": null,
"is_group": 0,
- "modified": "2026-02-15 00:56:31.933618",
+ "modified": "2026-02-17 03:05:48.497419",
"monthly_sales_target": 0.0,
"name": "Veritas Stone",
"old_parent": "",
@@ -149,7 +149,7 @@
"expenses_included_in_valuation": "Expenses Included In Valuation - DL",
"fax": null,
"is_group": 0,
- "modified": "2026-02-15 00:56:31.935944",
+ "modified": "2026-02-17 03:05:48.503038",
"monthly_sales_target": 0.0,
"name": "Daniels Landscape Supplies",
"old_parent": "",
@@ -237,7 +237,7 @@
"expenses_included_in_valuation": "Expenses Included In Valuation - SD",
"fax": null,
"is_group": 0,
- "modified": "2026-02-15 00:56:31.938072",
+ "modified": "2026-02-17 03:05:48.505280",
"monthly_sales_target": 0.0,
"name": "sprinklersnorthwest (Demo)",
"old_parent": "",
@@ -325,7 +325,7 @@
"expenses_included_in_valuation": "Expenses Included In Valuation - NYC",
"fax": null,
"is_group": 0,
- "modified": "2026-02-15 00:56:31.942129",
+ "modified": "2026-02-17 03:05:48.509153",
"monthly_sales_target": 0.0,
"name": "Nuco Yard Care",
"old_parent": "",
@@ -413,7 +413,7 @@
"expenses_included_in_valuation": "Expenses Included In Valuation - LF",
"fax": null,
"is_group": 0,
- "modified": "2026-02-15 00:56:31.940118",
+ "modified": "2026-02-17 03:05:48.507129",
"monthly_sales_target": 0.0,
"name": "Lowe Fencing",
"old_parent": "",
@@ -501,7 +501,7 @@
"expenses_included_in_valuation": "Expenses Included In Valuation - S",
"fax": null,
"is_group": 0,
- "modified": "2026-02-15 00:56:31.946270",
+ "modified": "2026-02-17 03:05:48.512257",
"monthly_sales_target": 0.0,
"name": "Sprinklers Northwest",
"old_parent": "",
diff --git a/custom_ui/fixtures/custom_field.json b/custom_ui/fixtures/custom_field.json
index ee0e522..aa04261 100644
--- a/custom_ui/fixtures/custom_field.json
+++ b/custom_ui/fixtures/custom_field.json
@@ -911,63 +911,6 @@
"unique": 0,
"width": null
},
- {
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "collapsible_depends_on": null,
- "columns": 0,
- "default": null,
- "depends_on": null,
- "description": null,
- "docstatus": 0,
- "doctype": "Custom Field",
- "dt": "Contact",
- "fetch_from": null,
- "fetch_if_empty": 0,
- "fieldname": "custom_column_break_g4zvy",
- "fieldtype": "Column Break",
- "hidden": 0,
- "hide_border": 0,
- "hide_days": 0,
- "hide_seconds": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_preview": 0,
- "in_standard_filter": 0,
- "insert_after": "sb_01",
- "is_system_generated": 0,
- "is_virtual": 0,
- "label": "",
- "length": 0,
- "link_filters": null,
- "mandatory_depends_on": null,
- "modified": "2024-12-27 15:15:18.076019",
- "module": null,
- "name": "Contact-custom_column_break_g4zvy",
- "no_copy": 0,
- "non_negative": 0,
- "options": null,
- "permlevel": 0,
- "placeholder": null,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "print_width": null,
- "read_only": 0,
- "read_only_depends_on": null,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "show_dashboard": 0,
- "sort_options": 0,
- "translatable": 0,
- "unique": 0,
- "width": null
- },
{
"allow_in_quick_entry": 1,
"allow_on_submit": 0,
@@ -1025,63 +968,6 @@
"unique": 0,
"width": null
},
- {
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "collapsible_depends_on": null,
- "columns": 0,
- "default": null,
- "depends_on": null,
- "description": null,
- "docstatus": 0,
- "doctype": "Custom Field",
- "dt": "Address",
- "fetch_from": null,
- "fetch_if_empty": 0,
- "fieldname": "custom_column_break_vqa4d",
- "fieldtype": "Column Break",
- "hidden": 0,
- "hide_border": 0,
- "hide_days": 0,
- "hide_seconds": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_preview": 0,
- "in_standard_filter": 0,
- "insert_after": "address_details",
- "is_system_generated": 0,
- "is_virtual": 0,
- "label": "",
- "length": 0,
- "link_filters": null,
- "mandatory_depends_on": null,
- "modified": "2025-05-07 09:35:30.582314",
- "module": null,
- "name": "Address-custom_column_break_vqa4d",
- "no_copy": 0,
- "non_negative": 0,
- "options": null,
- "permlevel": 0,
- "placeholder": null,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "print_width": null,
- "read_only": 0,
- "read_only_depends_on": null,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "show_dashboard": 0,
- "sort_options": 0,
- "translatable": 0,
- "unique": 0,
- "width": null
- },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -1367,6 +1253,120 @@
"unique": 0,
"width": null
},
+ {
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": null,
+ "depends_on": null,
+ "description": null,
+ "docstatus": 0,
+ "doctype": "Custom Field",
+ "dt": "Contact",
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "custom_column_break_g4zvy",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 0,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "insert_after": "sb_01",
+ "is_system_generated": 0,
+ "is_virtual": 0,
+ "label": "",
+ "length": 0,
+ "link_filters": null,
+ "mandatory_depends_on": null,
+ "modified": "2024-12-27 15:15:18.076019",
+ "module": null,
+ "name": "Contact-custom_column_break_g4zvy",
+ "no_copy": 0,
+ "non_negative": 0,
+ "options": null,
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "show_dashboard": 0,
+ "sort_options": 0,
+ "translatable": 0,
+ "unique": 0,
+ "width": null
+ },
+ {
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": null,
+ "depends_on": null,
+ "description": null,
+ "docstatus": 0,
+ "doctype": "Custom Field",
+ "dt": "Address",
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "custom_column_break_vqa4d",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 0,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "insert_after": "address_details",
+ "is_system_generated": 0,
+ "is_virtual": 0,
+ "label": "",
+ "length": 0,
+ "link_filters": null,
+ "mandatory_depends_on": null,
+ "modified": "2025-05-07 09:35:30.582314",
+ "module": null,
+ "name": "Address-custom_column_break_vqa4d",
+ "no_copy": 0,
+ "non_negative": 0,
+ "options": null,
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "show_dashboard": 0,
+ "sort_options": 0,
+ "translatable": 0,
+ "unique": 0,
+ "width": null
+ },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -1595,63 +1595,6 @@
"unique": 0,
"width": null
},
- {
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "collapsible_depends_on": null,
- "columns": 0,
- "default": null,
- "depends_on": null,
- "description": null,
- "docstatus": 0,
- "doctype": "Custom Field",
- "dt": "Address",
- "fetch_from": null,
- "fetch_if_empty": 0,
- "fieldname": "custom_column_break_jw2ty",
- "fieldtype": "Column Break",
- "hidden": 1,
- "hide_border": 0,
- "hide_days": 0,
- "hide_seconds": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_preview": 0,
- "in_standard_filter": 0,
- "insert_after": "custom_column_break_vqa4d",
- "is_system_generated": 0,
- "is_virtual": 0,
- "label": "",
- "length": 0,
- "link_filters": null,
- "mandatory_depends_on": null,
- "modified": "2024-12-06 12:51:45.652483",
- "module": null,
- "name": "Address-custom_column_break_jw2ty",
- "no_copy": 0,
- "non_negative": 0,
- "options": null,
- "permlevel": 0,
- "placeholder": null,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "print_width": null,
- "read_only": 0,
- "read_only_depends_on": null,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "show_dashboard": 0,
- "sort_options": 0,
- "translatable": 0,
- "unique": 0,
- "width": null
- },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -2165,6 +2108,63 @@
"unique": 0,
"width": null
},
+ {
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": null,
+ "depends_on": null,
+ "description": null,
+ "docstatus": 0,
+ "doctype": "Custom Field",
+ "dt": "Address",
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "custom_column_break_jw2ty",
+ "fieldtype": "Column Break",
+ "hidden": 1,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 0,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "insert_after": "custom_column_break_vqa4d",
+ "is_system_generated": 0,
+ "is_virtual": 0,
+ "label": "",
+ "length": 0,
+ "link_filters": null,
+ "mandatory_depends_on": null,
+ "modified": "2024-12-06 12:51:45.652483",
+ "module": null,
+ "name": "Address-custom_column_break_jw2ty",
+ "no_copy": 0,
+ "non_negative": 0,
+ "options": null,
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "show_dashboard": 0,
+ "sort_options": 0,
+ "translatable": 0,
+ "unique": 0,
+ "width": null
+ },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -2564,120 +2564,6 @@
"unique": 0,
"width": null
},
- {
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "collapsible_depends_on": null,
- "columns": 0,
- "default": null,
- "depends_on": null,
- "description": null,
- "docstatus": 0,
- "doctype": "Custom Field",
- "dt": "Contact",
- "fetch_from": null,
- "fetch_if_empty": 0,
- "fieldname": "custom_column_break_hpz5b",
- "fieldtype": "Column Break",
- "hidden": 0,
- "hide_border": 0,
- "hide_days": 0,
- "hide_seconds": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_preview": 0,
- "in_standard_filter": 0,
- "insert_after": "first_name",
- "is_system_generated": 0,
- "is_virtual": 0,
- "label": "",
- "length": 0,
- "link_filters": null,
- "mandatory_depends_on": null,
- "modified": "2025-01-14 18:03:58.483385",
- "module": null,
- "name": "Contact-custom_column_break_hpz5b",
- "no_copy": 0,
- "non_negative": 0,
- "options": null,
- "permlevel": 0,
- "placeholder": null,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "print_width": null,
- "read_only": 0,
- "read_only_depends_on": null,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "show_dashboard": 0,
- "sort_options": 0,
- "translatable": 0,
- "unique": 0,
- "width": null
- },
- {
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "collapsible_depends_on": null,
- "columns": 0,
- "default": null,
- "depends_on": null,
- "description": null,
- "docstatus": 0,
- "doctype": "Custom Field",
- "dt": "Address",
- "fetch_from": null,
- "fetch_if_empty": 0,
- "fieldname": "custom_installationservice_address",
- "fieldtype": "Check",
- "hidden": 1,
- "hide_border": 0,
- "hide_days": 0,
- "hide_seconds": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_preview": 0,
- "in_standard_filter": 0,
- "insert_after": "custom_column_break_jw2ty",
- "is_system_generated": 0,
- "is_virtual": 0,
- "label": "Installation/Service Address",
- "length": 0,
- "link_filters": null,
- "mandatory_depends_on": null,
- "modified": "2026-02-12 02:45:07.618975",
- "module": null,
- "name": "Address-custom_installationservice_address",
- "no_copy": 0,
- "non_negative": 0,
- "options": null,
- "permlevel": 0,
- "placeholder": null,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "print_width": null,
- "read_only": 0,
- "read_only_depends_on": null,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "show_dashboard": 0,
- "sort_options": 0,
- "translatable": 0,
- "unique": 0,
- "width": null
- },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -2963,6 +2849,120 @@
"unique": 0,
"width": null
},
+ {
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": null,
+ "depends_on": null,
+ "description": null,
+ "docstatus": 0,
+ "doctype": "Custom Field",
+ "dt": "Contact",
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "custom_column_break_hpz5b",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 0,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "insert_after": "first_name",
+ "is_system_generated": 0,
+ "is_virtual": 0,
+ "label": "",
+ "length": 0,
+ "link_filters": null,
+ "mandatory_depends_on": null,
+ "modified": "2025-01-14 18:03:58.483385",
+ "module": null,
+ "name": "Contact-custom_column_break_hpz5b",
+ "no_copy": 0,
+ "non_negative": 0,
+ "options": null,
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "show_dashboard": 0,
+ "sort_options": 0,
+ "translatable": 0,
+ "unique": 0,
+ "width": null
+ },
+ {
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": null,
+ "depends_on": null,
+ "description": null,
+ "docstatus": 0,
+ "doctype": "Custom Field",
+ "dt": "Address",
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "custom_installationservice_address",
+ "fieldtype": "Check",
+ "hidden": 1,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 0,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "insert_after": "custom_column_break_jw2ty",
+ "is_system_generated": 0,
+ "is_virtual": 0,
+ "label": "Installation/Service Address",
+ "length": 0,
+ "link_filters": null,
+ "mandatory_depends_on": null,
+ "modified": "2026-02-12 02:45:07.618975",
+ "module": null,
+ "name": "Address-custom_installationservice_address",
+ "no_copy": 0,
+ "non_negative": 0,
+ "options": null,
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "show_dashboard": 0,
+ "sort_options": 0,
+ "translatable": 0,
+ "unique": 0,
+ "width": null
+ },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -3134,63 +3134,6 @@
"unique": 0,
"width": null
},
- {
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "collapsible_depends_on": null,
- "columns": 0,
- "default": "0",
- "depends_on": null,
- "description": null,
- "docstatus": 0,
- "doctype": "Custom Field",
- "dt": "Address",
- "fetch_from": null,
- "fetch_if_empty": 0,
- "fieldname": "custom_billing_address",
- "fieldtype": "Check",
- "hidden": 1,
- "hide_border": 0,
- "hide_days": 0,
- "hide_seconds": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_preview": 0,
- "in_standard_filter": 0,
- "insert_after": "custom_installationservice_address",
- "is_system_generated": 0,
- "is_virtual": 0,
- "label": "Billing Address",
- "length": 0,
- "link_filters": null,
- "mandatory_depends_on": null,
- "modified": "2025-03-04 20:12:01.030950",
- "module": null,
- "name": "Address-custom_billing_address",
- "no_copy": 0,
- "non_negative": 0,
- "options": null,
- "permlevel": 0,
- "placeholder": null,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "print_width": null,
- "read_only": 0,
- "read_only_depends_on": null,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "show_dashboard": 0,
- "sort_options": 0,
- "translatable": 0,
- "unique": 0,
- "width": null
- },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -3419,6 +3362,63 @@
"unique": 0,
"width": null
},
+ {
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": "0",
+ "depends_on": null,
+ "description": null,
+ "docstatus": 0,
+ "doctype": "Custom Field",
+ "dt": "Address",
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "custom_billing_address",
+ "fieldtype": "Check",
+ "hidden": 1,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 0,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "insert_after": "custom_installationservice_address",
+ "is_system_generated": 0,
+ "is_virtual": 0,
+ "label": "Billing Address",
+ "length": 0,
+ "link_filters": null,
+ "mandatory_depends_on": null,
+ "modified": "2025-03-04 20:12:01.030950",
+ "module": null,
+ "name": "Address-custom_billing_address",
+ "no_copy": 0,
+ "non_negative": 0,
+ "options": null,
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "show_dashboard": 0,
+ "sort_options": 0,
+ "translatable": 0,
+ "unique": 0,
+ "width": null
+ },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -3533,63 +3533,6 @@
"unique": 0,
"width": null
},
- {
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "collapsible_depends_on": null,
- "columns": 0,
- "default": null,
- "depends_on": null,
- "description": null,
- "docstatus": 0,
- "doctype": "Custom Field",
- "dt": "Contact",
- "fetch_from": null,
- "fetch_if_empty": 0,
- "fieldname": "custom_column_break_3pehb",
- "fieldtype": "Column Break",
- "hidden": 0,
- "hide_border": 0,
- "hide_days": 0,
- "hide_seconds": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_preview": 0,
- "in_standard_filter": 0,
- "insert_after": "middle_name",
- "is_system_generated": 0,
- "is_virtual": 0,
- "label": "",
- "length": 0,
- "link_filters": null,
- "mandatory_depends_on": null,
- "modified": "2025-01-14 18:03:58.603921",
- "module": null,
- "name": "Contact-custom_column_break_3pehb",
- "no_copy": 0,
- "non_negative": 0,
- "options": null,
- "permlevel": 0,
- "placeholder": null,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "print_width": null,
- "read_only": 0,
- "read_only_depends_on": null,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "show_dashboard": 0,
- "sort_options": 0,
- "translatable": 0,
- "unique": 0,
- "width": null
- },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -3932,6 +3875,63 @@
"unique": 0,
"width": null
},
+ {
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": null,
+ "depends_on": null,
+ "description": null,
+ "docstatus": 0,
+ "doctype": "Custom Field",
+ "dt": "Contact",
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "custom_column_break_3pehb",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 0,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "insert_after": "middle_name",
+ "is_system_generated": 0,
+ "is_virtual": 0,
+ "label": "",
+ "length": 0,
+ "link_filters": null,
+ "mandatory_depends_on": null,
+ "modified": "2025-01-14 18:03:58.603921",
+ "module": null,
+ "name": "Contact-custom_column_break_3pehb",
+ "no_copy": 0,
+ "non_negative": 0,
+ "options": null,
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "show_dashboard": 0,
+ "sort_options": 0,
+ "translatable": 0,
+ "unique": 0,
+ "width": null
+ },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -4730,63 +4730,6 @@
"unique": 0,
"width": null
},
- {
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "collapsible_depends_on": null,
- "columns": 0,
- "default": "0",
- "depends_on": null,
- "description": null,
- "docstatus": 0,
- "doctype": "Custom Field",
- "dt": "Address",
- "fetch_from": null,
- "fetch_if_empty": 0,
- "fieldname": "custom_is_compnay_address",
- "fieldtype": "Check",
- "hidden": 1,
- "hide_border": 0,
- "hide_days": 0,
- "hide_seconds": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_preview": 0,
- "in_standard_filter": 0,
- "insert_after": "is_primary_address",
- "is_system_generated": 0,
- "is_virtual": 0,
- "label": "Is company address-hidden",
- "length": 0,
- "link_filters": null,
- "mandatory_depends_on": null,
- "modified": "2024-12-10 04:16:38.338226",
- "module": null,
- "name": "Address-custom_is_compnay_address",
- "no_copy": 0,
- "non_negative": 0,
- "options": null,
- "permlevel": 0,
- "placeholder": null,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "print_width": null,
- "read_only": 0,
- "read_only_depends_on": null,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "show_dashboard": 0,
- "sort_options": 0,
- "translatable": 0,
- "unique": 0,
- "width": null
- },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -4958,6 +4901,63 @@
"unique": 0,
"width": null
},
+ {
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": "0",
+ "depends_on": null,
+ "description": null,
+ "docstatus": 0,
+ "doctype": "Custom Field",
+ "dt": "Address",
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "custom_is_compnay_address",
+ "fieldtype": "Check",
+ "hidden": 1,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 0,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "insert_after": "is_primary_address",
+ "is_system_generated": 0,
+ "is_virtual": 0,
+ "label": "Is company address-hidden",
+ "length": 0,
+ "link_filters": null,
+ "mandatory_depends_on": null,
+ "modified": "2024-12-10 04:16:38.338226",
+ "module": null,
+ "name": "Address-custom_is_compnay_address",
+ "no_copy": 0,
+ "non_negative": 0,
+ "options": null,
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "show_dashboard": 0,
+ "sort_options": 0,
+ "translatable": 0,
+ "unique": 0,
+ "width": null
+ },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -5072,63 +5072,6 @@
"unique": 0,
"width": null
},
- {
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "collapsible_depends_on": null,
- "columns": 0,
- "default": null,
- "depends_on": null,
- "description": null,
- "docstatus": 0,
- "doctype": "Custom Field",
- "dt": "Address",
- "fetch_from": null,
- "fetch_if_empty": 0,
- "fieldname": "custom_column_break_ky1zo",
- "fieldtype": "Column Break",
- "hidden": 0,
- "hide_border": 0,
- "hide_days": 0,
- "hide_seconds": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_preview": 0,
- "in_standard_filter": 0,
- "insert_after": "custom_is_compnay_address",
- "is_system_generated": 0,
- "is_virtual": 0,
- "label": "",
- "length": 0,
- "link_filters": null,
- "mandatory_depends_on": null,
- "modified": "2025-01-14 09:56:58.070846",
- "module": null,
- "name": "Address-custom_column_break_ky1zo",
- "no_copy": 0,
- "non_negative": 0,
- "options": null,
- "permlevel": 0,
- "placeholder": null,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "print_width": null,
- "read_only": 0,
- "read_only_depends_on": null,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "show_dashboard": 0,
- "sort_options": 0,
- "translatable": 0,
- "unique": 0,
- "width": null
- },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -5414,6 +5357,63 @@
"unique": 0,
"width": null
},
+ {
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": null,
+ "depends_on": null,
+ "description": null,
+ "docstatus": 0,
+ "doctype": "Custom Field",
+ "dt": "Address",
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "custom_column_break_ky1zo",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 0,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "insert_after": "custom_is_compnay_address",
+ "is_system_generated": 0,
+ "is_virtual": 0,
+ "label": "",
+ "length": 0,
+ "link_filters": null,
+ "mandatory_depends_on": null,
+ "modified": "2025-01-14 09:56:58.070846",
+ "module": null,
+ "name": "Address-custom_column_break_ky1zo",
+ "no_copy": 0,
+ "non_negative": 0,
+ "options": null,
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "show_dashboard": 0,
+ "sort_options": 0,
+ "translatable": 0,
+ "unique": 0,
+ "width": null
+ },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -5585,63 +5585,6 @@
"unique": 0,
"width": null
},
- {
- "allow_in_quick_entry": 1,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "collapsible_depends_on": null,
- "columns": 0,
- "default": "Not Started",
- "depends_on": null,
- "description": null,
- "docstatus": 0,
- "doctype": "Custom Field",
- "dt": "Address",
- "fetch_from": null,
- "fetch_if_empty": 0,
- "fieldname": "custom_estimate_sent_status",
- "fieldtype": "Select",
- "hidden": 0,
- "hide_border": 0,
- "hide_days": 0,
- "hide_seconds": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_preview": 0,
- "in_standard_filter": 0,
- "insert_after": "custom_column_break_ky1zo",
- "is_system_generated": 0,
- "is_virtual": 0,
- "label": "Estimate Sent Status",
- "length": 0,
- "link_filters": null,
- "mandatory_depends_on": null,
- "modified": "2025-11-07 10:12:52.379735",
- "module": null,
- "name": "Address-custom_estimate_sent_status",
- "no_copy": 0,
- "non_negative": 0,
- "options": "Not Started\nIn Progress\nCompleted",
- "permlevel": 0,
- "placeholder": null,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "print_width": null,
- "read_only": 0,
- "read_only_depends_on": null,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 0,
- "show_dashboard": 0,
- "sort_options": 0,
- "translatable": 1,
- "unique": 0,
- "width": null
- },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -5984,6 +5927,63 @@
"unique": 0,
"width": null
},
+ {
+ "allow_in_quick_entry": 1,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": "Not Started",
+ "depends_on": null,
+ "description": null,
+ "docstatus": 0,
+ "doctype": "Custom Field",
+ "dt": "Address",
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "custom_estimate_sent_status",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 0,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "insert_after": "custom_column_break_ky1zo",
+ "is_system_generated": 0,
+ "is_virtual": 0,
+ "label": "Estimate Sent Status",
+ "length": 0,
+ "link_filters": null,
+ "mandatory_depends_on": null,
+ "modified": "2025-11-07 10:12:52.379735",
+ "module": null,
+ "name": "Address-custom_estimate_sent_status",
+ "no_copy": 0,
+ "non_negative": 0,
+ "options": "Not Started\nIn Progress\nCompleted",
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "show_dashboard": 0,
+ "sort_options": 0,
+ "translatable": 1,
+ "unique": 0,
+ "width": null
+ },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -6041,63 +6041,6 @@
"unique": 0,
"width": null
},
- {
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "collapsible_depends_on": null,
- "columns": 0,
- "default": null,
- "depends_on": null,
- "description": null,
- "docstatus": 0,
- "doctype": "Custom Field",
- "dt": "Customer",
- "fetch_from": null,
- "fetch_if_empty": 0,
- "fieldname": "custom_appointment_date",
- "fieldtype": "Date",
- "hidden": 1,
- "hide_border": 0,
- "hide_days": 0,
- "hide_seconds": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_preview": 0,
- "in_standard_filter": 0,
- "insert_after": "customer_group",
- "is_system_generated": 0,
- "is_virtual": 0,
- "label": "Appointment Date",
- "length": 0,
- "link_filters": null,
- "mandatory_depends_on": null,
- "modified": "2024-10-21 04:06:47.935309",
- "module": null,
- "name": "Customer-custom_appointment_date",
- "no_copy": 0,
- "non_negative": 0,
- "options": null,
- "permlevel": 0,
- "placeholder": null,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "print_width": null,
- "read_only": 0,
- "read_only_depends_on": null,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "show_dashboard": 0,
- "sort_options": 0,
- "translatable": 0,
- "unique": 0,
- "width": null
- },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -6212,63 +6155,6 @@
"unique": 0,
"width": null
},
- {
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "collapsible_depends_on": null,
- "columns": 0,
- "default": "Not Started",
- "depends_on": null,
- "description": null,
- "docstatus": 0,
- "doctype": "Custom Field",
- "dt": "Address",
- "fetch_from": null,
- "fetch_if_empty": 0,
- "fieldname": "custom_onsite_meeting_scheduled",
- "fieldtype": "Select",
- "hidden": 0,
- "hide_border": 0,
- "hide_days": 0,
- "hide_seconds": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_preview": 0,
- "in_standard_filter": 0,
- "insert_after": "custom_estimate_sent_status",
- "is_system_generated": 0,
- "is_virtual": 0,
- "label": "On-Site Meeting Scheduled",
- "length": 0,
- "link_filters": null,
- "mandatory_depends_on": null,
- "modified": "2025-11-07 10:12:52.881382",
- "module": null,
- "name": "Address-custom_onsite_meeting_scheduled",
- "no_copy": 0,
- "non_negative": 0,
- "options": "Not Started\nIn Progress\nCompleted",
- "permlevel": 0,
- "placeholder": null,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "print_width": null,
- "read_only": 0,
- "read_only_depends_on": null,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 0,
- "show_dashboard": 0,
- "sort_options": 0,
- "translatable": 1,
- "unique": 0,
- "width": null
- },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -6440,6 +6326,120 @@
"unique": 0,
"width": null
},
+ {
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": null,
+ "depends_on": null,
+ "description": null,
+ "docstatus": 0,
+ "doctype": "Custom Field",
+ "dt": "Customer",
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "custom_appointment_date",
+ "fieldtype": "Date",
+ "hidden": 1,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 0,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "insert_after": "customer_group",
+ "is_system_generated": 0,
+ "is_virtual": 0,
+ "label": "Appointment Date",
+ "length": 0,
+ "link_filters": null,
+ "mandatory_depends_on": null,
+ "modified": "2024-10-21 04:06:47.935309",
+ "module": null,
+ "name": "Customer-custom_appointment_date",
+ "no_copy": 0,
+ "non_negative": 0,
+ "options": null,
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "show_dashboard": 0,
+ "sort_options": 0,
+ "translatable": 0,
+ "unique": 0,
+ "width": null
+ },
+ {
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": "Not Started",
+ "depends_on": null,
+ "description": null,
+ "docstatus": 0,
+ "doctype": "Custom Field",
+ "dt": "Address",
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "custom_onsite_meeting_scheduled",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 0,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "insert_after": "custom_estimate_sent_status",
+ "is_system_generated": 0,
+ "is_virtual": 0,
+ "label": "On-Site Meeting Scheduled",
+ "length": 0,
+ "link_filters": null,
+ "mandatory_depends_on": null,
+ "modified": "2025-11-07 10:12:52.881382",
+ "module": null,
+ "name": "Address-custom_onsite_meeting_scheduled",
+ "no_copy": 0,
+ "non_negative": 0,
+ "options": "Not Started\nIn Progress\nCompleted",
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "show_dashboard": 0,
+ "sort_options": 0,
+ "translatable": 1,
+ "unique": 0,
+ "width": null
+ },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -6497,63 +6497,6 @@
"unique": 0,
"width": null
},
- {
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "collapsible_depends_on": null,
- "columns": 0,
- "default": "Not Started",
- "depends_on": null,
- "description": null,
- "docstatus": 0,
- "doctype": "Custom Field",
- "dt": "Address",
- "fetch_from": null,
- "fetch_if_empty": 0,
- "fieldname": "custom_job_status",
- "fieldtype": "Select",
- "hidden": 0,
- "hide_border": 0,
- "hide_days": 0,
- "hide_seconds": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_preview": 0,
- "in_standard_filter": 0,
- "insert_after": "custom_onsite_meeting_scheduled",
- "is_system_generated": 0,
- "is_virtual": 0,
- "label": "Job Status",
- "length": 0,
- "link_filters": null,
- "mandatory_depends_on": null,
- "modified": "2025-11-07 10:12:53.465004",
- "module": null,
- "name": "Address-custom_job_status",
- "no_copy": 0,
- "non_negative": 0,
- "options": "Not Started\nIn Progress\nCompleted",
- "permlevel": 0,
- "placeholder": null,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "print_width": null,
- "read_only": 0,
- "read_only_depends_on": null,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 0,
- "show_dashboard": 0,
- "sort_options": 0,
- "translatable": 1,
- "unique": 0,
- "width": null
- },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -6683,7 +6626,7 @@
"dt": "Address",
"fetch_from": null,
"fetch_if_empty": 0,
- "fieldname": "custom_payment_received_status",
+ "fieldname": "custom_job_status",
"fieldtype": "Select",
"hidden": 0,
"hide_border": 0,
@@ -6695,16 +6638,16 @@
"in_list_view": 0,
"in_preview": 0,
"in_standard_filter": 0,
- "insert_after": "custom_job_status",
+ "insert_after": "custom_onsite_meeting_scheduled",
"is_system_generated": 0,
"is_virtual": 0,
- "label": "Payment Received Status",
+ "label": "Job Status",
"length": 0,
"link_filters": null,
"mandatory_depends_on": null,
- "modified": "2025-11-10 01:28:45.145725",
+ "modified": "2025-11-07 10:12:53.465004",
"module": null,
- "name": "Address-custom_payment_received_status",
+ "name": "Address-custom_job_status",
"no_copy": 0,
"non_negative": 0,
"options": "Not Started\nIn Progress\nCompleted",
@@ -6903,7 +6846,7 @@
"collapsible": 0,
"collapsible_depends_on": null,
"columns": 0,
- "default": null,
+ "default": "Not Started",
"depends_on": null,
"description": null,
"docstatus": 0,
@@ -6911,8 +6854,8 @@
"dt": "Address",
"fetch_from": null,
"fetch_if_empty": 0,
- "fieldname": "custom_section_break_fvgdt",
- "fieldtype": "Section Break",
+ "fieldname": "custom_payment_received_status",
+ "fieldtype": "Select",
"hidden": 0,
"hide_border": 0,
"hide_days": 0,
@@ -6923,19 +6866,19 @@
"in_list_view": 0,
"in_preview": 0,
"in_standard_filter": 0,
- "insert_after": "custom_payment_received_status",
+ "insert_after": "custom_job_status",
"is_system_generated": 0,
"is_virtual": 0,
- "label": "",
+ "label": "Payment Received Status",
"length": 0,
"link_filters": null,
"mandatory_depends_on": null,
- "modified": "2024-12-06 12:51:45.744682",
+ "modified": "2025-11-10 01:28:45.145725",
"module": null,
- "name": "Address-custom_section_break_fvgdt",
+ "name": "Address-custom_payment_received_status",
"no_copy": 0,
"non_negative": 0,
- "options": null,
+ "options": "Not Started\nIn Progress\nCompleted",
"permlevel": 0,
"placeholder": null,
"precision": "",
@@ -6945,11 +6888,11 @@
"read_only": 0,
"read_only_depends_on": null,
"report_hide": 0,
- "reqd": 0,
+ "reqd": 1,
"search_index": 0,
"show_dashboard": 0,
"sort_options": 0,
- "translatable": 0,
+ "translatable": 1,
"unique": 0,
"width": null
},
@@ -7181,6 +7124,63 @@
"unique": 0,
"width": null
},
+ {
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": null,
+ "depends_on": null,
+ "description": null,
+ "docstatus": 0,
+ "doctype": "Custom Field",
+ "dt": "Address",
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "custom_section_break_fvgdt",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 0,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "insert_after": "custom_payment_received_status",
+ "is_system_generated": 0,
+ "is_virtual": 0,
+ "label": "",
+ "length": 0,
+ "link_filters": null,
+ "mandatory_depends_on": null,
+ "modified": "2024-12-06 12:51:45.744682",
+ "module": null,
+ "name": "Address-custom_section_break_fvgdt",
+ "no_copy": 0,
+ "non_negative": 0,
+ "options": null,
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "show_dashboard": 0,
+ "sort_options": 0,
+ "translatable": 0,
+ "unique": 0,
+ "width": null
+ },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 1,
@@ -7352,63 +7352,6 @@
"unique": 0,
"width": null
},
- {
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "collapsible_depends_on": null,
- "columns": 0,
- "default": null,
- "depends_on": null,
- "description": null,
- "docstatus": 0,
- "doctype": "Custom Field",
- "dt": "Address",
- "fetch_from": null,
- "fetch_if_empty": 0,
- "fieldname": "tax_category",
- "fieldtype": "Link",
- "hidden": 0,
- "hide_border": 0,
- "hide_days": 0,
- "hide_seconds": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_preview": 0,
- "in_standard_filter": 0,
- "insert_after": "fax",
- "is_system_generated": 0,
- "is_virtual": 0,
- "label": "Tax Category",
- "length": 0,
- "link_filters": null,
- "mandatory_depends_on": null,
- "modified": "2018-12-28 22:29:21.828090",
- "module": null,
- "name": "Address-tax_category",
- "no_copy": 0,
- "non_negative": 0,
- "options": "Tax Category",
- "permlevel": 0,
- "placeholder": null,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "print_width": null,
- "read_only": 0,
- "read_only_depends_on": null,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "show_dashboard": 0,
- "sort_options": 0,
- "translatable": 0,
- "unique": 0,
- "width": null
- },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -8036,6 +7979,63 @@
"unique": 0,
"width": null
},
+ {
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": null,
+ "depends_on": null,
+ "description": null,
+ "docstatus": 0,
+ "doctype": "Custom Field",
+ "dt": "Contact",
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "is_billing_contact",
+ "fieldtype": "Check",
+ "hidden": 0,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 0,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "insert_after": "is_primary_contact",
+ "is_system_generated": 0,
+ "is_virtual": 0,
+ "label": "Is Billing Contact",
+ "length": 0,
+ "link_filters": null,
+ "mandatory_depends_on": null,
+ "modified": "2019-12-02 11:00:03.432994",
+ "module": null,
+ "name": "Contact-is_billing_contact",
+ "no_copy": 0,
+ "non_negative": 0,
+ "options": null,
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "show_dashboard": 0,
+ "sort_options": 0,
+ "translatable": 0,
+ "unique": 0,
+ "width": null
+ },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -8150,63 +8150,6 @@
"unique": 0,
"width": null
},
- {
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "collapsible_depends_on": null,
- "columns": 0,
- "default": null,
- "depends_on": null,
- "description": null,
- "docstatus": 0,
- "doctype": "Custom Field",
- "dt": "Contact",
- "fetch_from": "address.address_title",
- "fetch_if_empty": 1,
- "fieldname": "custom_service_address",
- "fieldtype": "Link",
- "hidden": 0,
- "hide_border": 0,
- "hide_days": 0,
- "hide_seconds": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_global_search": 1,
- "in_list_view": 1,
- "in_preview": 0,
- "in_standard_filter": 1,
- "insert_after": "is_billing_contact",
- "is_system_generated": 0,
- "is_virtual": 0,
- "label": "Service/Installation Address",
- "length": 0,
- "link_filters": null,
- "mandatory_depends_on": null,
- "modified": "2025-01-14 17:40:19.828715",
- "module": null,
- "name": "Contact-custom_service_address",
- "no_copy": 0,
- "non_negative": 0,
- "options": "Address",
- "permlevel": 0,
- "placeholder": null,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "print_width": "100",
- "read_only": 0,
- "read_only_depends_on": null,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "show_dashboard": 0,
- "sort_options": 0,
- "translatable": 0,
- "unique": 0,
- "width": null
- },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -8435,6 +8378,63 @@
"unique": 0,
"width": null
},
+ {
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": null,
+ "depends_on": null,
+ "description": null,
+ "docstatus": 0,
+ "doctype": "Custom Field",
+ "dt": "Contact",
+ "fetch_from": "address.address_title",
+ "fetch_if_empty": 1,
+ "fieldname": "custom_service_address",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_global_search": 1,
+ "in_list_view": 1,
+ "in_preview": 0,
+ "in_standard_filter": 1,
+ "insert_after": "is_billing_contact",
+ "is_system_generated": 0,
+ "is_virtual": 0,
+ "label": "Service/Installation Address",
+ "length": 0,
+ "link_filters": null,
+ "mandatory_depends_on": null,
+ "modified": "2025-01-14 17:40:19.828715",
+ "module": null,
+ "name": "Contact-custom_service_address",
+ "no_copy": 0,
+ "non_negative": 0,
+ "options": "Address",
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": "100",
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "show_dashboard": 0,
+ "sort_options": 0,
+ "translatable": 0,
+ "unique": 0,
+ "width": null
+ },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -8549,63 +8549,6 @@
"unique": 0,
"width": null
},
- {
- "allow_in_quick_entry": 1,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "collapsible_depends_on": null,
- "columns": 0,
- "default": null,
- "depends_on": null,
- "description": null,
- "docstatus": 0,
- "doctype": "Custom Field",
- "dt": "Address",
- "fetch_from": null,
- "fetch_if_empty": 0,
- "fieldname": "custom_linked_city",
- "fieldtype": "Link",
- "hidden": 0,
- "hide_border": 0,
- "hide_days": 0,
- "hide_seconds": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_preview": 0,
- "in_standard_filter": 0,
- "insert_after": "address_line2",
- "is_system_generated": 0,
- "is_virtual": 0,
- "label": "Linked City",
- "length": 0,
- "link_filters": null,
- "mandatory_depends_on": null,
- "modified": "2024-12-05 11:54:10.862148",
- "module": null,
- "name": "Address-custom_linked_city",
- "no_copy": 0,
- "non_negative": 0,
- "options": "City",
- "permlevel": 0,
- "placeholder": null,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "print_width": null,
- "read_only": 0,
- "read_only_depends_on": null,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "show_dashboard": 0,
- "sort_options": 0,
- "translatable": 0,
- "unique": 0,
- "width": null
- },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 1,
@@ -8664,13 +8607,13 @@
"width": null
},
{
- "allow_in_quick_entry": 0,
+ "allow_in_quick_entry": 1,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"collapsible_depends_on": null,
"columns": 0,
- "default": "0",
+ "default": null,
"depends_on": null,
"description": null,
"docstatus": 0,
@@ -8678,8 +8621,8 @@
"dt": "Address",
"fetch_from": null,
"fetch_if_empty": 0,
- "fieldname": "is_your_company_address",
- "fieldtype": "Check",
+ "fieldname": "custom_linked_city",
+ "fieldtype": "Link",
"hidden": 0,
"hide_border": 0,
"hide_days": 0,
@@ -8690,19 +8633,19 @@
"in_list_view": 0,
"in_preview": 0,
"in_standard_filter": 0,
- "insert_after": "linked_with",
+ "insert_after": "address_line2",
"is_system_generated": 0,
"is_virtual": 0,
- "label": "Is Your Company Address",
+ "label": "Linked City",
"length": 0,
"link_filters": null,
"mandatory_depends_on": null,
- "modified": "2020-10-14 17:41:40.878179",
+ "modified": "2024-12-05 11:54:10.862148",
"module": null,
- "name": "Address-is_your_company_address",
+ "name": "Address-custom_linked_city",
"no_copy": 0,
"non_negative": 0,
- "options": null,
+ "options": "City",
"permlevel": 0,
"placeholder": null,
"precision": "",
@@ -8846,11 +8789,11 @@
"description": null,
"docstatus": 0,
"doctype": "Custom Field",
- "dt": "Address",
+ "dt": "Service Appointment",
"fetch_from": null,
"fetch_if_empty": 0,
- "fieldname": "custom_subdivision",
- "fieldtype": "Link",
+ "fieldname": "custom_section_break_gndxh",
+ "fieldtype": "Section Break",
"hidden": 0,
"hide_border": 0,
"hide_days": 0,
@@ -8858,22 +8801,79 @@
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_global_search": 0,
- "in_list_view": 1,
+ "in_list_view": 0,
"in_preview": 0,
"in_standard_filter": 0,
- "insert_after": "custom_linked_city",
+ "insert_after": "custom_internal_company",
"is_system_generated": 0,
"is_virtual": 0,
- "label": "Subdivision",
+ "label": "",
"length": 0,
"link_filters": null,
"mandatory_depends_on": null,
- "modified": "2025-03-04 20:07:51.639967",
+ "modified": "2025-01-06 16:50:41.747787",
"module": null,
- "name": "Address-custom_subdivision",
+ "name": "Service Appointment-custom_section_break_gndxh",
"no_copy": 0,
"non_negative": 0,
- "options": "Territory",
+ "options": null,
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "show_dashboard": 0,
+ "sort_options": 0,
+ "translatable": 0,
+ "unique": 0,
+ "width": null
+ },
+ {
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": "0",
+ "depends_on": null,
+ "description": null,
+ "docstatus": 0,
+ "doctype": "Custom Field",
+ "dt": "Address",
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "is_your_company_address",
+ "fieldtype": "Check",
+ "hidden": 1,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 0,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "insert_after": "custom_subdivision",
+ "is_system_generated": 0,
+ "is_virtual": 0,
+ "label": "Is Your Company Address",
+ "length": 0,
+ "link_filters": null,
+ "mandatory_depends_on": null,
+ "modified": "2020-10-14 17:41:40.878179",
+ "module": null,
+ "name": "Address-is_your_company_address",
+ "no_copy": 0,
+ "non_negative": 0,
+ "options": null,
"permlevel": 0,
"placeholder": null,
"precision": "",
@@ -8903,11 +8903,11 @@
"description": null,
"docstatus": 0,
"doctype": "Custom Field",
- "dt": "Service Appointment",
+ "dt": "Address",
"fetch_from": null,
"fetch_if_empty": 0,
- "fieldname": "custom_section_break_gndxh",
- "fieldtype": "Section Break",
+ "fieldname": "custom_subdivision",
+ "fieldtype": "Link",
"hidden": 0,
"hide_border": 0,
"hide_days": 0,
@@ -8915,22 +8915,22 @@
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_global_search": 0,
- "in_list_view": 0,
+ "in_list_view": 1,
"in_preview": 0,
"in_standard_filter": 0,
- "insert_after": "custom_internal_company",
+ "insert_after": "custom_linked_city",
"is_system_generated": 0,
"is_virtual": 0,
- "label": "",
+ "label": "Subdivision",
"length": 0,
"link_filters": null,
"mandatory_depends_on": null,
- "modified": "2025-01-06 16:50:41.747787",
+ "modified": "2025-03-04 20:07:51.639967",
"module": null,
- "name": "Service Appointment-custom_section_break_gndxh",
+ "name": "Address-custom_subdivision",
"no_copy": 0,
"non_negative": 0,
- "options": null,
+ "options": "Territory",
"permlevel": 0,
"placeholder": null,
"precision": "",
@@ -9119,120 +9119,6 @@
"unique": 0,
"width": null
},
- {
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "collapsible_depends_on": null,
- "columns": 0,
- "default": null,
- "depends_on": null,
- "description": null,
- "docstatus": 0,
- "doctype": "Custom Field",
- "dt": "Contact",
- "fetch_from": null,
- "fetch_if_empty": 0,
- "fieldname": "custom_column_break_sn9hu",
- "fieldtype": "Column Break",
- "hidden": 0,
- "hide_border": 0,
- "hide_days": 0,
- "hide_seconds": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_preview": 0,
- "in_standard_filter": 0,
- "insert_after": "more_info",
- "is_system_generated": 0,
- "is_virtual": 0,
- "label": "",
- "length": 0,
- "link_filters": null,
- "mandatory_depends_on": null,
- "modified": "2024-12-27 15:15:17.875587",
- "module": null,
- "name": "Contact-custom_column_break_sn9hu",
- "no_copy": 0,
- "non_negative": 0,
- "options": null,
- "permlevel": 0,
- "placeholder": null,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "print_width": null,
- "read_only": 0,
- "read_only_depends_on": null,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "show_dashboard": 0,
- "sort_options": 0,
- "translatable": 0,
- "unique": 0,
- "width": null
- },
- {
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "collapsible_depends_on": null,
- "columns": 0,
- "default": null,
- "depends_on": null,
- "description": null,
- "docstatus": 0,
- "doctype": "Custom Field",
- "dt": "Address",
- "fetch_from": null,
- "fetch_if_empty": 0,
- "fieldname": "custom_column_break_3mo7x",
- "fieldtype": "Column Break",
- "hidden": 0,
- "hide_border": 0,
- "hide_days": 0,
- "hide_seconds": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_preview": 0,
- "in_standard_filter": 0,
- "insert_after": "is_your_company_address",
- "is_system_generated": 0,
- "is_virtual": 0,
- "label": "",
- "length": 0,
- "link_filters": null,
- "mandatory_depends_on": null,
- "modified": "2025-01-13 16:23:38.952888",
- "module": null,
- "name": "Address-custom_column_break_3mo7x",
- "no_copy": 0,
- "non_negative": 0,
- "options": null,
- "permlevel": 0,
- "placeholder": null,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "print_width": null,
- "read_only": 0,
- "read_only_depends_on": null,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "show_dashboard": 0,
- "sort_options": 0,
- "translatable": 0,
- "unique": 0,
- "width": null
- },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -9359,11 +9245,11 @@
"description": null,
"docstatus": 0,
"doctype": "Custom Field",
- "dt": "Customer",
+ "dt": "Contact",
"fetch_from": null,
"fetch_if_empty": 0,
- "fieldname": "custom_previous_year_price",
- "fieldtype": "Currency",
+ "fieldname": "custom_column_break_sn9hu",
+ "fieldtype": "Column Break",
"hidden": 0,
"hide_border": 0,
"hide_days": 0,
@@ -9374,16 +9260,73 @@
"in_list_view": 0,
"in_preview": 0,
"in_standard_filter": 0,
- "insert_after": "default_price_list",
+ "insert_after": "more_info",
"is_system_generated": 0,
"is_virtual": 0,
- "label": "Previous Year Price",
+ "label": "",
"length": 0,
"link_filters": null,
"mandatory_depends_on": null,
- "modified": "2024-10-21 04:06:48.267280",
+ "modified": "2024-12-27 15:15:17.875587",
"module": null,
- "name": "Customer-custom_previous_year_price",
+ "name": "Contact-custom_column_break_sn9hu",
+ "no_copy": 0,
+ "non_negative": 0,
+ "options": null,
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "show_dashboard": 0,
+ "sort_options": 0,
+ "translatable": 0,
+ "unique": 0,
+ "width": null
+ },
+ {
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": null,
+ "depends_on": null,
+ "description": null,
+ "docstatus": 0,
+ "doctype": "Custom Field",
+ "dt": "Address",
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "custom_column_break_3mo7x",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 0,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "insert_after": "is_your_company_address",
+ "is_system_generated": 0,
+ "is_virtual": 0,
+ "label": "",
+ "length": 0,
+ "link_filters": null,
+ "mandatory_depends_on": null,
+ "modified": "2025-01-13 16:23:38.952888",
+ "module": null,
+ "name": "Address-custom_column_break_3mo7x",
"no_copy": 0,
"non_negative": 0,
"options": null,
@@ -9575,6 +9518,63 @@
"unique": 0,
"width": null
},
+ {
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": null,
+ "depends_on": null,
+ "description": null,
+ "docstatus": 0,
+ "doctype": "Custom Field",
+ "dt": "Customer",
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "custom_previous_year_price",
+ "fieldtype": "Currency",
+ "hidden": 0,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 0,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "insert_after": "default_price_list",
+ "is_system_generated": 0,
+ "is_virtual": 0,
+ "label": "Previous Year Price",
+ "length": 0,
+ "link_filters": null,
+ "mandatory_depends_on": null,
+ "modified": "2024-10-21 04:06:48.267280",
+ "module": null,
+ "name": "Customer-custom_previous_year_price",
+ "no_copy": 0,
+ "non_negative": 0,
+ "options": null,
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "show_dashboard": 0,
+ "sort_options": 0,
+ "translatable": 0,
+ "unique": 0,
+ "width": null
+ },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 1,
@@ -9860,63 +9860,6 @@
"unique": 0,
"width": null
},
- {
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "collapsible_depends_on": null,
- "columns": 0,
- "default": null,
- "depends_on": null,
- "description": null,
- "docstatus": 0,
- "doctype": "Custom Field",
- "dt": "Contact",
- "fetch_from": null,
- "fetch_if_empty": 0,
- "fieldname": "is_billing_contact",
- "fieldtype": "Check",
- "hidden": 0,
- "hide_border": 0,
- "hide_days": 0,
- "hide_seconds": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_preview": 0,
- "in_standard_filter": 0,
- "insert_after": "is_primary_contact",
- "is_system_generated": 0,
- "is_virtual": 0,
- "label": "Is Billing Contact",
- "length": 0,
- "link_filters": null,
- "mandatory_depends_on": null,
- "modified": "2019-12-02 11:00:03.432994",
- "module": null,
- "name": "Contact-is_billing_contact",
- "no_copy": 0,
- "non_negative": 0,
- "options": null,
- "permlevel": 0,
- "placeholder": null,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "print_width": null,
- "read_only": 0,
- "read_only_depends_on": null,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "show_dashboard": 0,
- "sort_options": 0,
- "translatable": 0,
- "unique": 0,
- "width": null
- },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -10544,63 +10487,6 @@
"unique": 0,
"width": null
},
- {
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "collapsible_depends_on": null,
- "columns": 0,
- "default": null,
- "depends_on": null,
- "description": null,
- "docstatus": 0,
- "doctype": "Custom Field",
- "dt": "Contact",
- "fetch_from": null,
- "fetch_if_empty": 0,
- "fieldname": "custom_column_break_kmlkz",
- "fieldtype": "Column Break",
- "hidden": 0,
- "hide_border": 0,
- "hide_days": 0,
- "hide_seconds": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_preview": 0,
- "in_standard_filter": 0,
- "insert_after": "sb_00",
- "is_system_generated": 0,
- "is_virtual": 0,
- "label": "",
- "length": 0,
- "link_filters": null,
- "mandatory_depends_on": null,
- "modified": "2024-12-23 16:27:55.413283",
- "module": null,
- "name": "Contact-custom_column_break_kmlkz",
- "no_copy": 0,
- "non_negative": 0,
- "options": null,
- "permlevel": 0,
- "placeholder": null,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "print_width": null,
- "read_only": 0,
- "read_only_depends_on": null,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "show_dashboard": 0,
- "sort_options": 0,
- "translatable": 0,
- "unique": 0,
- "width": null
- },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -10715,6 +10601,63 @@
"unique": 0,
"width": null
},
+ {
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": null,
+ "depends_on": null,
+ "description": null,
+ "docstatus": 0,
+ "doctype": "Custom Field",
+ "dt": "Contact",
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "custom_column_break_kmlkz",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 0,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "insert_after": "sb_00",
+ "is_system_generated": 0,
+ "is_virtual": 0,
+ "label": "",
+ "length": 0,
+ "link_filters": null,
+ "mandatory_depends_on": null,
+ "modified": "2024-12-23 16:27:55.413283",
+ "module": null,
+ "name": "Contact-custom_column_break_kmlkz",
+ "no_copy": 0,
+ "non_negative": 0,
+ "options": null,
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "show_dashboard": 0,
+ "sort_options": 0,
+ "translatable": 0,
+ "unique": 0,
+ "width": null
+ },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -11570,6 +11513,63 @@
"unique": 0,
"width": null
},
+ {
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": "Locate incomplete",
+ "depends_on": null,
+ "description": null,
+ "docstatus": 0,
+ "doctype": "Custom Field",
+ "dt": "Project",
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "custom_utlity_locate_status",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 1,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "insert_after": "custom_permit_status",
+ "is_system_generated": 0,
+ "is_virtual": 0,
+ "label": "Utlity Locate Status",
+ "length": 0,
+ "link_filters": null,
+ "mandatory_depends_on": null,
+ "modified": "2024-11-02 07:07:12.654207",
+ "module": null,
+ "name": "Project-custom_utlity_locate_status",
+ "no_copy": 0,
+ "non_negative": 0,
+ "options": "Locate incomplete\nNeed More Information\nLocate Not Necessary\nUtility Locate complete",
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "show_dashboard": 0,
+ "sort_options": 0,
+ "translatable": 1,
+ "unique": 0,
+ "width": null
+ },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -11634,7 +11634,7 @@
"collapsible": 0,
"collapsible_depends_on": null,
"columns": 0,
- "default": "Locate incomplete",
+ "default": null,
"depends_on": null,
"description": null,
"docstatus": 0,
@@ -11642,8 +11642,8 @@
"dt": "Project",
"fetch_from": null,
"fetch_if_empty": 0,
- "fieldname": "custom_utlity_locate_status",
- "fieldtype": "Select",
+ "fieldname": "custom_crew_scheduling",
+ "fieldtype": "Table",
"hidden": 0,
"hide_border": 0,
"hide_days": 0,
@@ -11651,22 +11651,22 @@
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_global_search": 0,
- "in_list_view": 1,
+ "in_list_view": 0,
"in_preview": 0,
"in_standard_filter": 0,
- "insert_after": "custom_permit_status",
+ "insert_after": "custom_utlity_locate_status",
"is_system_generated": 0,
"is_virtual": 0,
- "label": "Utlity Locate Status",
+ "label": "Crew Scheduling",
"length": 0,
"link_filters": null,
"mandatory_depends_on": null,
- "modified": "2024-11-02 07:07:12.654207",
+ "modified": "2024-11-04 11:51:00.400929",
"module": null,
- "name": "Project-custom_utlity_locate_status",
+ "name": "Project-custom_crew_scheduling",
"no_copy": 0,
"non_negative": 0,
- "options": "Locate incomplete\nNeed More Information\nLocate Not Necessary\nUtility Locate complete",
+ "options": "Crew Schedule Detail",
"permlevel": 0,
"placeholder": null,
"precision": "",
@@ -11680,7 +11680,7 @@
"search_index": 0,
"show_dashboard": 0,
"sort_options": 0,
- "translatable": 1,
+ "translatable": 0,
"unique": 0,
"width": null
},
@@ -11741,63 +11741,6 @@
"unique": 0,
"width": null
},
- {
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "collapsible_depends_on": null,
- "columns": 0,
- "default": null,
- "depends_on": null,
- "description": null,
- "docstatus": 0,
- "doctype": "Custom Field",
- "dt": "Project",
- "fetch_from": null,
- "fetch_if_empty": 0,
- "fieldname": "custom_crew_scheduling",
- "fieldtype": "Table",
- "hidden": 0,
- "hide_border": 0,
- "hide_days": 0,
- "hide_seconds": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_preview": 0,
- "in_standard_filter": 0,
- "insert_after": "custom_utlity_locate_status",
- "is_system_generated": 0,
- "is_virtual": 0,
- "label": "Crew Scheduling",
- "length": 0,
- "link_filters": null,
- "mandatory_depends_on": null,
- "modified": "2024-11-04 11:51:00.400929",
- "module": null,
- "name": "Project-custom_crew_scheduling",
- "no_copy": 0,
- "non_negative": 0,
- "options": "Crew Schedule Detail",
- "permlevel": 0,
- "placeholder": null,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "print_width": null,
- "read_only": 0,
- "read_only_depends_on": null,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "show_dashboard": 0,
- "sort_options": 0,
- "translatable": 0,
- "unique": 0,
- "width": null
- },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -12881,6 +12824,63 @@
"unique": 0,
"width": null
},
+ {
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": null,
+ "depends_on": null,
+ "description": null,
+ "docstatus": 0,
+ "doctype": "Custom Field",
+ "dt": "Address",
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "tax_category",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 0,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "insert_after": "fax",
+ "is_system_generated": 0,
+ "is_virtual": 0,
+ "label": "Tax Category",
+ "length": 0,
+ "link_filters": null,
+ "mandatory_depends_on": null,
+ "modified": "2018-12-28 22:29:21.828090",
+ "module": null,
+ "name": "Address-tax_category",
+ "no_copy": 0,
+ "non_negative": 0,
+ "options": "Tax Category",
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "show_dashboard": 0,
+ "sort_options": 0,
+ "translatable": 0,
+ "unique": 0,
+ "width": null
+ },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -13109,6 +13109,63 @@
"unique": 0,
"width": null
},
+ {
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": null,
+ "depends_on": null,
+ "description": null,
+ "docstatus": 0,
+ "doctype": "Custom Field",
+ "dt": "Address",
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "custom_customers",
+ "fieldtype": "Table",
+ "hidden": 0,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 0,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "insert_after": "is_service_address",
+ "is_system_generated": 0,
+ "is_virtual": 0,
+ "label": "Customers",
+ "length": 0,
+ "link_filters": null,
+ "mandatory_depends_on": null,
+ "modified": "2026-02-17 08:16:54.701995",
+ "module": null,
+ "name": "Address-custom_customers",
+ "no_copy": 0,
+ "non_negative": 0,
+ "options": "Address Customer Link",
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "show_dashboard": 0,
+ "sort_options": 0,
+ "translatable": 0,
+ "unique": 0,
+ "width": null
+ },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -13136,7 +13193,7 @@
"in_list_view": 0,
"in_preview": 0,
"in_standard_filter": 0,
- "insert_after": "disabled",
+ "insert_after": "custom_customers",
"is_system_generated": 0,
"is_virtual": 0,
"label": "",
@@ -13394,63 +13451,6 @@
"unique": 0,
"width": null
},
- {
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "collapsible_depends_on": null,
- "columns": 0,
- "default": null,
- "depends_on": null,
- "description": null,
- "docstatus": 0,
- "doctype": "Custom Field",
- "dt": "Address",
- "fetch_from": null,
- "fetch_if_empty": 0,
- "fieldname": "custom_google_map",
- "fieldtype": "HTML",
- "hidden": 0,
- "hide_border": 0,
- "hide_days": 0,
- "hide_seconds": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_preview": 0,
- "in_standard_filter": 0,
- "insert_after": "custom_show_irrigation_district",
- "is_system_generated": 0,
- "is_virtual": 0,
- "label": "Google Map",
- "length": 0,
- "link_filters": null,
- "mandatory_depends_on": null,
- "modified": "2024-12-06 05:34:24.226193",
- "module": null,
- "name": "Address-custom_google_map",
- "no_copy": 0,
- "non_negative": 0,
- "options": null,
- "permlevel": 0,
- "placeholder": null,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "print_width": null,
- "read_only": 0,
- "read_only_depends_on": null,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "show_dashboard": 0,
- "sort_options": 0,
- "translatable": 0,
- "unique": 0,
- "width": null
- },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -13508,63 +13508,6 @@
"unique": 0,
"width": null
},
- {
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "collapsible_depends_on": null,
- "columns": 0,
- "default": null,
- "depends_on": null,
- "description": null,
- "docstatus": 0,
- "doctype": "Custom Field",
- "dt": "Address",
- "fetch_from": null,
- "fetch_if_empty": 0,
- "fieldname": "custom_latitude",
- "fieldtype": "Data",
- "hidden": 0,
- "hide_border": 0,
- "hide_days": 0,
- "hide_seconds": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_preview": 0,
- "in_standard_filter": 0,
- "insert_after": "custom_google_map",
- "is_system_generated": 0,
- "is_virtual": 0,
- "label": "Latitude",
- "length": 0,
- "link_filters": null,
- "mandatory_depends_on": null,
- "modified": "2024-12-13 07:17:59.819553",
- "module": null,
- "name": "Address-custom_latitude",
- "no_copy": 0,
- "non_negative": 0,
- "options": null,
- "permlevel": 0,
- "placeholder": null,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "print_width": null,
- "read_only": 0,
- "read_only_depends_on": null,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "show_dashboard": 0,
- "sort_options": 0,
- "translatable": 1,
- "unique": 0,
- "width": null
- },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -13637,8 +13580,8 @@
"dt": "Address",
"fetch_from": null,
"fetch_if_empty": 0,
- "fieldname": "custom_longitude",
- "fieldtype": "Data",
+ "fieldname": "custom_google_map",
+ "fieldtype": "HTML",
"hidden": 0,
"hide_border": 0,
"hide_days": 0,
@@ -13649,16 +13592,16 @@
"in_list_view": 0,
"in_preview": 0,
"in_standard_filter": 0,
- "insert_after": "custom_latitude",
+ "insert_after": "custom_show_irrigation_district",
"is_system_generated": 0,
"is_virtual": 0,
- "label": "longitude",
+ "label": "Google Map",
"length": 0,
"link_filters": null,
"mandatory_depends_on": null,
- "modified": "2024-12-13 07:17:59.942073",
+ "modified": "2024-12-06 05:34:24.226193",
"module": null,
- "name": "Address-custom_longitude",
+ "name": "Address-custom_google_map",
"no_copy": 0,
"non_negative": 0,
"options": null,
@@ -13675,7 +13618,7 @@
"search_index": 0,
"show_dashboard": 0,
"sort_options": 0,
- "translatable": 1,
+ "translatable": 0,
"unique": 0,
"width": null
},
@@ -13694,9 +13637,9 @@
"dt": "Address",
"fetch_from": null,
"fetch_if_empty": 0,
- "fieldname": "custom_address_for_coordinates",
+ "fieldname": "custom_latitude",
"fieldtype": "Data",
- "hidden": 1,
+ "hidden": 0,
"hide_border": 0,
"hide_days": 0,
"hide_seconds": 0,
@@ -13706,16 +13649,16 @@
"in_list_view": 0,
"in_preview": 0,
"in_standard_filter": 0,
- "insert_after": "custom_longitude",
+ "insert_after": "custom_google_map",
"is_system_generated": 0,
"is_virtual": 0,
- "label": "Address For Coordinates",
+ "label": "Latitude",
"length": 0,
"link_filters": null,
"mandatory_depends_on": null,
- "modified": "2025-05-15 11:37:40.846923",
+ "modified": "2024-12-13 07:17:59.819553",
"module": null,
- "name": "Address-custom_address_for_coordinates",
+ "name": "Address-custom_latitude",
"no_copy": 0,
"non_negative": 0,
"options": null,
@@ -13732,7 +13675,7 @@
"search_index": 0,
"show_dashboard": 0,
"sort_options": 0,
- "translatable": 0,
+ "translatable": 1,
"unique": 0,
"width": null
},
@@ -13850,6 +13793,63 @@
"unique": 0,
"width": null
},
+ {
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": null,
+ "depends_on": null,
+ "description": null,
+ "docstatus": 0,
+ "doctype": "Custom Field",
+ "dt": "Address",
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "custom_longitude",
+ "fieldtype": "Data",
+ "hidden": 0,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 0,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "insert_after": "custom_latitude",
+ "is_system_generated": 0,
+ "is_virtual": 0,
+ "label": "longitude",
+ "length": 0,
+ "link_filters": null,
+ "mandatory_depends_on": null,
+ "modified": "2024-12-13 07:17:59.942073",
+ "module": null,
+ "name": "Address-custom_longitude",
+ "no_copy": 0,
+ "non_negative": 0,
+ "options": null,
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "show_dashboard": 0,
+ "sort_options": 0,
+ "translatable": 1,
+ "unique": 0,
+ "width": null
+ },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -13922,8 +13922,8 @@
"dt": "Address",
"fetch_from": null,
"fetch_if_empty": 0,
- "fieldname": "custom_linked_contacts",
- "fieldtype": "Table",
+ "fieldname": "custom_address_for_coordinates",
+ "fieldtype": "Data",
"hidden": 1,
"hide_border": 0,
"hide_days": 0,
@@ -13934,19 +13934,19 @@
"in_list_view": 0,
"in_preview": 0,
"in_standard_filter": 0,
- "insert_after": "linked_with",
+ "insert_after": "custom_longitude",
"is_system_generated": 0,
"is_virtual": 0,
- "label": "Linked Contacts",
+ "label": "Address For Coordinates",
"length": 0,
"link_filters": null,
"mandatory_depends_on": null,
- "modified": "2024-12-09 05:20:08.566488",
+ "modified": "2025-05-15 11:37:40.846923",
"module": null,
- "name": "Address-custom_linked_contacts",
+ "name": "Address-custom_address_for_coordinates",
"no_copy": 0,
"non_negative": 0,
- "options": "Address Contact Role",
+ "options": null,
"permlevel": 0,
"placeholder": null,
"precision": "",
@@ -14135,6 +14135,63 @@
"unique": 0,
"width": null
},
+ {
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": null,
+ "depends_on": null,
+ "description": null,
+ "docstatus": 0,
+ "doctype": "Custom Field",
+ "dt": "Address",
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "custom_linked_contacts",
+ "fieldtype": "Table",
+ "hidden": 1,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 0,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "insert_after": "linked_with",
+ "is_system_generated": 0,
+ "is_virtual": 0,
+ "label": "Linked Contacts",
+ "length": 0,
+ "link_filters": null,
+ "mandatory_depends_on": null,
+ "modified": "2024-12-09 05:20:08.566488",
+ "module": null,
+ "name": "Address-custom_linked_contacts",
+ "no_copy": 0,
+ "non_negative": 0,
+ "options": "Address Contact Role",
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "show_dashboard": 0,
+ "sort_options": 0,
+ "translatable": 0,
+ "unique": 0,
+ "width": null
+ },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -14192,63 +14249,6 @@
"unique": 0,
"width": null
},
- {
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "collapsible_depends_on": null,
- "columns": 0,
- "default": null,
- "depends_on": null,
- "description": null,
- "docstatus": 0,
- "doctype": "Custom Field",
- "dt": "Address",
- "fetch_from": null,
- "fetch_if_empty": 0,
- "fieldname": "custom_column_break_9cbvb",
- "fieldtype": "Column Break",
- "hidden": 0,
- "hide_border": 0,
- "hide_days": 0,
- "hide_seconds": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_preview": 0,
- "in_standard_filter": 0,
- "insert_after": "links",
- "is_system_generated": 0,
- "is_virtual": 0,
- "label": "",
- "length": 0,
- "link_filters": null,
- "mandatory_depends_on": null,
- "modified": "2025-05-07 09:35:30.889103",
- "module": null,
- "name": "Address-custom_column_break_9cbvb",
- "no_copy": 0,
- "non_negative": 0,
- "options": null,
- "permlevel": 0,
- "placeholder": null,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "print_width": null,
- "read_only": 0,
- "read_only_depends_on": null,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "show_dashboard": 0,
- "sort_options": 0,
- "translatable": 0,
- "unique": 0,
- "width": null
- },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -14321,8 +14321,8 @@
"dt": "Address",
"fetch_from": null,
"fetch_if_empty": 0,
- "fieldname": "custom_linked_companies",
- "fieldtype": "Table",
+ "fieldname": "custom_column_break_9cbvb",
+ "fieldtype": "Column Break",
"hidden": 0,
"hide_border": 0,
"hide_days": 0,
@@ -14333,19 +14333,19 @@
"in_list_view": 0,
"in_preview": 0,
"in_standard_filter": 0,
- "insert_after": "custom_column_break_9cbvb",
+ "insert_after": "links",
"is_system_generated": 0,
"is_virtual": 0,
- "label": "Linked Companies",
+ "label": "",
"length": 0,
"link_filters": null,
"mandatory_depends_on": null,
- "modified": "2024-12-06 04:53:56.106322",
+ "modified": "2025-05-07 09:35:30.889103",
"module": null,
- "name": "Address-custom_linked_companies",
+ "name": "Address-custom_column_break_9cbvb",
"no_copy": 0,
"non_negative": 0,
- "options": "Linked Companies",
+ "options": null,
"permlevel": 0,
"placeholder": null,
"precision": "",
@@ -14420,63 +14420,6 @@
"unique": 0,
"width": null
},
- {
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "collapsible_depends_on": null,
- "columns": 0,
- "default": null,
- "depends_on": null,
- "description": null,
- "docstatus": 0,
- "doctype": "Custom Field",
- "dt": "Address",
- "fetch_from": null,
- "fetch_if_empty": 0,
- "fieldname": "custom_irrigation",
- "fieldtype": "Tab Break",
- "hidden": 0,
- "hide_border": 0,
- "hide_days": 0,
- "hide_seconds": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_preview": 0,
- "in_standard_filter": 0,
- "insert_after": "custom_linked_companies",
- "is_system_generated": 0,
- "is_virtual": 0,
- "label": "Irrigation",
- "length": 0,
- "link_filters": null,
- "mandatory_depends_on": null,
- "modified": "2024-12-06 04:34:51.016671",
- "module": null,
- "name": "Address-custom_irrigation",
- "no_copy": 0,
- "non_negative": 0,
- "options": null,
- "permlevel": 0,
- "placeholder": null,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "print_width": null,
- "read_only": 0,
- "read_only_depends_on": null,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "show_dashboard": 0,
- "sort_options": 0,
- "translatable": 0,
- "unique": 0,
- "width": null
- },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -14549,8 +14492,8 @@
"dt": "Address",
"fetch_from": null,
"fetch_if_empty": 0,
- "fieldname": "custom_upcoming_services",
- "fieldtype": "Section Break",
+ "fieldname": "custom_linked_companies",
+ "fieldtype": "Table",
"hidden": 0,
"hide_border": 0,
"hide_days": 0,
@@ -14561,19 +14504,19 @@
"in_list_view": 0,
"in_preview": 0,
"in_standard_filter": 0,
- "insert_after": "custom_irrigation",
+ "insert_after": "custom_column_break_9cbvb",
"is_system_generated": 0,
"is_virtual": 0,
- "label": "Upcoming Services",
+ "label": "Linked Companies",
"length": 0,
"link_filters": null,
"mandatory_depends_on": null,
- "modified": "2024-12-31 12:10:42.455406",
+ "modified": "2024-12-06 04:53:56.106322",
"module": null,
- "name": "Address-custom_upcoming_services",
+ "name": "Address-custom_linked_companies",
"no_copy": 0,
"non_negative": 0,
- "options": null,
+ "options": "Linked Companies",
"permlevel": 0,
"placeholder": null,
"precision": "",
@@ -14712,7 +14655,7 @@
"collapsible": 0,
"collapsible_depends_on": null,
"columns": 0,
- "default": "None",
+ "default": null,
"depends_on": null,
"description": null,
"docstatus": 0,
@@ -14720,9 +14663,9 @@
"dt": "Address",
"fetch_from": null,
"fetch_if_empty": 0,
- "fieldname": "custom_service_type",
- "fieldtype": "Select",
- "hidden": 1,
+ "fieldname": "custom_irrigation",
+ "fieldtype": "Tab Break",
+ "hidden": 0,
"hide_border": 0,
"hide_days": 0,
"hide_seconds": 0,
@@ -14732,19 +14675,19 @@
"in_list_view": 0,
"in_preview": 0,
"in_standard_filter": 0,
- "insert_after": "custom_upcoming_services",
+ "insert_after": "custom_linked_companies",
"is_system_generated": 0,
"is_virtual": 0,
- "label": "Service Type",
+ "label": "Irrigation",
"length": 0,
"link_filters": null,
"mandatory_depends_on": null,
- "modified": "2024-12-09 06:25:23.173103",
+ "modified": "2024-12-06 04:34:51.016671",
"module": null,
- "name": "Address-custom_service_type",
+ "name": "Address-custom_irrigation",
"no_copy": 0,
"non_negative": 0,
- "options": "Spring Turn-On\nBackflow Testing\nSpring TO/BFT\nWinterization\nNone\nRepair\nWarranty",
+ "options": null,
"permlevel": 0,
"placeholder": null,
"precision": "",
@@ -14758,7 +14701,7 @@
"search_index": 0,
"show_dashboard": 0,
"sort_options": 0,
- "translatable": 1,
+ "translatable": 0,
"unique": 0,
"width": null
},
@@ -14833,9 +14776,9 @@
"doctype": "Custom Field",
"dt": "Address",
"fetch_from": null,
- "fetch_if_empty": 1,
- "fieldname": "custom_service_route",
- "fieldtype": "Data",
+ "fetch_if_empty": 0,
+ "fieldname": "custom_upcoming_services",
+ "fieldtype": "Section Break",
"hidden": 0,
"hide_border": 0,
"hide_days": 0,
@@ -14843,19 +14786,19 @@
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_global_search": 0,
- "in_list_view": 1,
+ "in_list_view": 0,
"in_preview": 0,
- "in_standard_filter": 1,
- "insert_after": "custom_service_type",
+ "in_standard_filter": 0,
+ "insert_after": "custom_irrigation",
"is_system_generated": 0,
"is_virtual": 0,
- "label": "Service Route",
+ "label": "Upcoming Services",
"length": 0,
"link_filters": null,
"mandatory_depends_on": null,
- "modified": "2024-12-11 12:34:43.871663",
+ "modified": "2024-12-31 12:10:42.455406",
"module": null,
- "name": "Address-custom_service_route",
+ "name": "Address-custom_upcoming_services",
"no_copy": 0,
"non_negative": 0,
"options": null,
@@ -14872,7 +14815,7 @@
"search_index": 0,
"show_dashboard": 0,
"sort_options": 0,
- "translatable": 1,
+ "translatable": 0,
"unique": 0,
"width": null
},
@@ -14997,39 +14940,39 @@
"collapsible": 0,
"collapsible_depends_on": null,
"columns": 0,
- "default": "No Response",
+ "default": "None",
"depends_on": null,
"description": null,
"docstatus": 0,
"doctype": "Custom Field",
"dt": "Address",
- "fetch_from": "custom_tech.status",
+ "fetch_from": null,
"fetch_if_empty": 0,
- "fieldname": "custom_confirmation_status",
+ "fieldname": "custom_service_type",
"fieldtype": "Select",
- "hidden": 0,
+ "hidden": 1,
"hide_border": 0,
"hide_days": 0,
"hide_seconds": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_global_search": 0,
- "in_list_view": 1,
+ "in_list_view": 0,
"in_preview": 0,
"in_standard_filter": 0,
- "insert_after": "custom_service_route",
+ "insert_after": "custom_upcoming_services",
"is_system_generated": 0,
"is_virtual": 0,
- "label": "Confirmation Status",
+ "label": "Service Type",
"length": 0,
"link_filters": null,
"mandatory_depends_on": null,
- "modified": "2024-12-09 06:25:23.408235",
+ "modified": "2024-12-09 06:25:23.173103",
"module": null,
- "name": "Address-custom_confirmation_status",
+ "name": "Address-custom_service_type",
"no_copy": 0,
"non_negative": 0,
- "options": "\nNo Response\nConfirmed\nReschedule\nDeclined\nPrefers calls",
+ "options": "Spring Turn-On\nBackflow Testing\nSpring TO/BFT\nWinterization\nNone\nRepair\nWarranty",
"permlevel": 0,
"placeholder": null,
"precision": "",
@@ -15118,9 +15061,9 @@
"doctype": "Custom Field",
"dt": "Address",
"fetch_from": null,
- "fetch_if_empty": 0,
- "fieldname": "custom_backflow_test_form_filed",
- "fieldtype": "Check",
+ "fetch_if_empty": 1,
+ "fieldname": "custom_service_route",
+ "fieldtype": "Data",
"hidden": 0,
"hide_border": 0,
"hide_days": 0,
@@ -15128,19 +15071,19 @@
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_global_search": 0,
- "in_list_view": 0,
+ "in_list_view": 1,
"in_preview": 0,
- "in_standard_filter": 0,
- "insert_after": "custom_confirmation_status",
+ "in_standard_filter": 1,
+ "insert_after": "custom_service_type",
"is_system_generated": 0,
"is_virtual": 0,
- "label": "Backflow Test Form Filed",
+ "label": "Service Route",
"length": 0,
"link_filters": null,
"mandatory_depends_on": null,
- "modified": "2024-12-09 06:25:23.518891",
+ "modified": "2024-12-11 12:34:43.871663",
"module": null,
- "name": "Address-custom_backflow_test_form_filed",
+ "name": "Address-custom_service_route",
"no_copy": 0,
"non_negative": 0,
"options": null,
@@ -15157,7 +15100,7 @@
"search_index": 0,
"show_dashboard": 0,
"sort_options": 0,
- "translatable": 0,
+ "translatable": 1,
"unique": 0,
"width": null
},
@@ -15225,16 +15168,16 @@
"collapsible": 0,
"collapsible_depends_on": null,
"columns": 0,
- "default": null,
+ "default": "No Response",
"depends_on": null,
"description": null,
"docstatus": 0,
"doctype": "Custom Field",
"dt": "Address",
- "fetch_from": null,
+ "fetch_from": "custom_tech.status",
"fetch_if_empty": 0,
- "fieldname": "custom_column_break_j79td",
- "fieldtype": "Column Break",
+ "fieldname": "custom_confirmation_status",
+ "fieldtype": "Select",
"hidden": 0,
"hide_border": 0,
"hide_days": 0,
@@ -15242,22 +15185,22 @@
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_global_search": 0,
- "in_list_view": 0,
+ "in_list_view": 1,
"in_preview": 0,
"in_standard_filter": 0,
- "insert_after": "custom_backflow_test_form_filed",
+ "insert_after": "custom_service_route",
"is_system_generated": 0,
"is_virtual": 0,
- "label": "",
+ "label": "Confirmation Status",
"length": 0,
"link_filters": null,
"mandatory_depends_on": null,
- "modified": "2025-01-23 15:20:26.363501",
+ "modified": "2024-12-09 06:25:23.408235",
"module": null,
- "name": "Address-custom_column_break_j79td",
+ "name": "Address-custom_confirmation_status",
"no_copy": 0,
"non_negative": 0,
- "options": null,
+ "options": "\nNo Response\nConfirmed\nReschedule\nDeclined\nPrefers calls",
"permlevel": 0,
"placeholder": null,
"precision": "",
@@ -15271,7 +15214,7 @@
"search_index": 0,
"show_dashboard": 0,
"sort_options": 0,
- "translatable": 0,
+ "translatable": 1,
"unique": 0,
"width": null
},
@@ -15288,10 +15231,10 @@
"docstatus": 0,
"doctype": "Custom Field",
"dt": "Address",
- "fetch_from": "custom_test_route.assigned_tech",
+ "fetch_from": null,
"fetch_if_empty": 0,
- "fieldname": "custom_technician_assigned",
- "fieldtype": "Link",
+ "fieldname": "custom_backflow_test_form_filed",
+ "fieldtype": "Check",
"hidden": 0,
"hide_border": 0,
"hide_days": 0,
@@ -15302,19 +15245,19 @@
"in_list_view": 0,
"in_preview": 0,
"in_standard_filter": 0,
- "insert_after": "custom_column_break_j79td",
+ "insert_after": "custom_confirmation_status",
"is_system_generated": 0,
"is_virtual": 0,
- "label": "Technician Assigned",
+ "label": "Backflow Test Form Filed",
"length": 0,
"link_filters": null,
"mandatory_depends_on": null,
- "modified": "2024-12-09 06:25:23.727688",
+ "modified": "2024-12-09 06:25:23.518891",
"module": null,
- "name": "Address-custom_technician_assigned",
+ "name": "Address-custom_backflow_test_form_filed",
"no_copy": 0,
"non_negative": 0,
- "options": "Employee",
+ "options": null,
"permlevel": 0,
"placeholder": null,
"precision": "",
@@ -15459,10 +15402,10 @@
"docstatus": 0,
"doctype": "Custom Field",
"dt": "Address",
- "fetch_from": "custom_test_route.service_date",
+ "fetch_from": null,
"fetch_if_empty": 0,
- "fieldname": "custom_scheduled_date",
- "fieldtype": "Date",
+ "fieldname": "custom_column_break_j79td",
+ "fieldtype": "Column Break",
"hidden": 0,
"hide_border": 0,
"hide_days": 0,
@@ -15470,19 +15413,19 @@
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_global_search": 0,
- "in_list_view": 1,
+ "in_list_view": 0,
"in_preview": 0,
"in_standard_filter": 0,
- "insert_after": "custom_technician_assigned",
+ "insert_after": "custom_backflow_test_form_filed",
"is_system_generated": 0,
"is_virtual": 0,
- "label": "Scheduled Date",
+ "label": "",
"length": 0,
"link_filters": null,
"mandatory_depends_on": null,
- "modified": "2024-12-09 06:25:23.865625",
+ "modified": "2025-01-23 15:20:26.363501",
"module": null,
- "name": "Address-custom_scheduled_date",
+ "name": "Address-custom_column_break_j79td",
"no_copy": 0,
"non_negative": 0,
"options": null,
@@ -15573,10 +15516,10 @@
"docstatus": 0,
"doctype": "Custom Field",
"dt": "Address",
- "fetch_from": null,
+ "fetch_from": "custom_test_route.assigned_tech",
"fetch_if_empty": 0,
- "fieldname": "custom_column_break_sqplk",
- "fieldtype": "Column Break",
+ "fieldname": "custom_technician_assigned",
+ "fieldtype": "Link",
"hidden": 0,
"hide_border": 0,
"hide_days": 0,
@@ -15587,19 +15530,19 @@
"in_list_view": 0,
"in_preview": 0,
"in_standard_filter": 0,
- "insert_after": "custom_scheduled_date",
+ "insert_after": "custom_column_break_j79td",
"is_system_generated": 0,
"is_virtual": 0,
- "label": "",
+ "label": "Technician Assigned",
"length": 0,
"link_filters": null,
"mandatory_depends_on": null,
- "modified": "2025-01-23 15:17:48.611375",
+ "modified": "2024-12-09 06:25:23.727688",
"module": null,
- "name": "Address-custom_column_break_sqplk",
+ "name": "Address-custom_technician_assigned",
"no_copy": 0,
"non_negative": 0,
- "options": null,
+ "options": "Employee",
"permlevel": 0,
"placeholder": null,
"precision": "",
@@ -15687,10 +15630,10 @@
"docstatus": 0,
"doctype": "Custom Field",
"dt": "Address",
- "fetch_from": "custom_tech.",
- "fetch_if_empty": 1,
- "fieldname": "custom_test_route",
- "fieldtype": "Link",
+ "fetch_from": "custom_test_route.service_date",
+ "fetch_if_empty": 0,
+ "fieldname": "custom_scheduled_date",
+ "fieldtype": "Date",
"hidden": 0,
"hide_border": 0,
"hide_days": 0,
@@ -15700,20 +15643,20 @@
"in_global_search": 0,
"in_list_view": 1,
"in_preview": 0,
- "in_standard_filter": 1,
- "insert_after": "custom_column_break_sqplk",
+ "in_standard_filter": 0,
+ "insert_after": "custom_technician_assigned",
"is_system_generated": 0,
"is_virtual": 0,
- "label": "test route",
+ "label": "Scheduled Date",
"length": 0,
"link_filters": null,
"mandatory_depends_on": null,
- "modified": "2025-02-13 14:00:22.859303",
+ "modified": "2024-12-09 06:25:23.865625",
"module": null,
- "name": "Address-custom_test_route",
+ "name": "Address-custom_scheduled_date",
"no_copy": 0,
"non_negative": 0,
- "options": "Pre-Built Routes",
+ "options": null,
"permlevel": 0,
"placeholder": null,
"precision": "",
@@ -15788,6 +15731,177 @@
"unique": 0,
"width": null
},
+ {
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": null,
+ "depends_on": null,
+ "description": null,
+ "docstatus": 0,
+ "doctype": "Custom Field",
+ "dt": "Address",
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "custom_column_break_sqplk",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 0,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "insert_after": "custom_scheduled_date",
+ "is_system_generated": 0,
+ "is_virtual": 0,
+ "label": "",
+ "length": 0,
+ "link_filters": null,
+ "mandatory_depends_on": null,
+ "modified": "2025-01-23 15:17:48.611375",
+ "module": null,
+ "name": "Address-custom_column_break_sqplk",
+ "no_copy": 0,
+ "non_negative": 0,
+ "options": null,
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "show_dashboard": 0,
+ "sort_options": 0,
+ "translatable": 0,
+ "unique": 0,
+ "width": null
+ },
+ {
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": null,
+ "depends_on": null,
+ "description": null,
+ "docstatus": 0,
+ "doctype": "Custom Field",
+ "dt": "Employee",
+ "fetch_from": "department.payroll_cost_center",
+ "fetch_if_empty": 1,
+ "fieldname": "payroll_cost_center",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 0,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "insert_after": "salary_cb",
+ "is_system_generated": 1,
+ "is_virtual": 0,
+ "label": "Payroll Cost Center",
+ "length": 0,
+ "link_filters": null,
+ "mandatory_depends_on": null,
+ "modified": "2025-01-13 10:13:26.512094",
+ "module": null,
+ "name": "Employee-payroll_cost_center",
+ "no_copy": 0,
+ "non_negative": 0,
+ "options": "Cost Center",
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "show_dashboard": 0,
+ "sort_options": 0,
+ "translatable": 0,
+ "unique": 0,
+ "width": null
+ },
+ {
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": null,
+ "depends_on": null,
+ "description": null,
+ "docstatus": 0,
+ "doctype": "Custom Field",
+ "dt": "Address",
+ "fetch_from": "custom_tech.",
+ "fetch_if_empty": 1,
+ "fieldname": "custom_test_route",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 1,
+ "in_preview": 0,
+ "in_standard_filter": 1,
+ "insert_after": "custom_column_break_sqplk",
+ "is_system_generated": 0,
+ "is_virtual": 0,
+ "label": "test route",
+ "length": 0,
+ "link_filters": null,
+ "mandatory_depends_on": null,
+ "modified": "2025-02-13 14:00:22.859303",
+ "module": null,
+ "name": "Address-custom_test_route",
+ "no_copy": 0,
+ "non_negative": 0,
+ "options": "Pre-Built Routes",
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "show_dashboard": 0,
+ "sort_options": 0,
+ "translatable": 0,
+ "unique": 0,
+ "width": null
+ },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -15857,11 +15971,11 @@
"description": null,
"docstatus": 0,
"doctype": "Custom Field",
- "dt": "Employee",
- "fetch_from": "department.payroll_cost_center",
- "fetch_if_empty": 1,
- "fieldname": "payroll_cost_center",
- "fieldtype": "Link",
+ "dt": "Quotation",
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "remarks",
+ "fieldtype": "Small Text",
"hidden": 0,
"hide_border": 0,
"hide_days": 0,
@@ -15872,19 +15986,19 @@
"in_list_view": 0,
"in_preview": 0,
"in_standard_filter": 0,
- "insert_after": "salary_cb",
+ "insert_after": "grand_total",
"is_system_generated": 1,
"is_virtual": 0,
- "label": "Payroll Cost Center",
+ "label": "Remarks",
"length": 0,
"link_filters": null,
"mandatory_depends_on": null,
- "modified": "2025-01-13 10:13:26.512094",
+ "modified": "2026-02-13 03:40:47.513866",
"module": null,
- "name": "Employee-payroll_cost_center",
+ "name": "Quotation-remarks",
"no_copy": 0,
"non_negative": 0,
- "options": "Cost Center",
+ "options": null,
"permlevel": 0,
"placeholder": null,
"precision": "",
@@ -16016,63 +16130,6 @@
"unique": 0,
"width": null
},
- {
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "collapsible_depends_on": null,
- "columns": 0,
- "default": null,
- "depends_on": null,
- "description": null,
- "docstatus": 0,
- "doctype": "Custom Field",
- "dt": "Quotation",
- "fetch_from": null,
- "fetch_if_empty": 0,
- "fieldname": "remarks",
- "fieldtype": "Small Text",
- "hidden": 0,
- "hide_border": 0,
- "hide_days": 0,
- "hide_seconds": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_preview": 0,
- "in_standard_filter": 0,
- "insert_after": "grand_total",
- "is_system_generated": 1,
- "is_virtual": 0,
- "label": "Remarks",
- "length": 0,
- "link_filters": null,
- "mandatory_depends_on": null,
- "modified": "2026-02-13 03:40:47.513866",
- "module": null,
- "name": "Quotation-remarks",
- "no_copy": 0,
- "non_negative": 0,
- "options": null,
- "permlevel": 0,
- "placeholder": null,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "print_width": null,
- "read_only": 0,
- "read_only_depends_on": null,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "show_dashboard": 0,
- "sort_options": 0,
- "translatable": 0,
- "unique": 0,
- "width": null
- },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -16244,120 +16301,6 @@
"unique": 0,
"width": null
},
- {
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "collapsible_depends_on": null,
- "columns": 0,
- "default": null,
- "depends_on": null,
- "description": null,
- "docstatus": 0,
- "doctype": "Custom Field",
- "dt": "Address",
- "fetch_from": null,
- "fetch_if_empty": 0,
- "fieldname": "custom_column_break_djjw3",
- "fieldtype": "Column Break",
- "hidden": 0,
- "hide_border": 0,
- "hide_days": 0,
- "hide_seconds": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_preview": 0,
- "in_standard_filter": 0,
- "insert_after": "custom_makemodel_",
- "is_system_generated": 0,
- "is_virtual": 0,
- "label": "",
- "length": 0,
- "link_filters": null,
- "mandatory_depends_on": null,
- "modified": "2024-12-06 04:38:24.820901",
- "module": null,
- "name": "Address-custom_column_break_djjw3",
- "no_copy": 1,
- "non_negative": 0,
- "options": null,
- "permlevel": 0,
- "placeholder": null,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "print_width": null,
- "read_only": 0,
- "read_only_depends_on": null,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "show_dashboard": 0,
- "sort_options": 0,
- "translatable": 0,
- "unique": 0,
- "width": null
- },
- {
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "collapsible_depends_on": null,
- "columns": 0,
- "default": null,
- "depends_on": null,
- "description": null,
- "docstatus": 0,
- "doctype": "Custom Field",
- "dt": "Address",
- "fetch_from": null,
- "fetch_if_empty": 0,
- "fieldname": "custom_backflow_location",
- "fieldtype": "Data",
- "hidden": 0,
- "hide_border": 0,
- "hide_days": 0,
- "hide_seconds": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_global_search": 0,
- "in_list_view": 1,
- "in_preview": 0,
- "in_standard_filter": 0,
- "insert_after": "custom_column_break_djjw3",
- "is_system_generated": 0,
- "is_virtual": 0,
- "label": "Backflow Location:",
- "length": 0,
- "link_filters": null,
- "mandatory_depends_on": null,
- "modified": "2024-12-06 12:33:25.345256",
- "module": null,
- "name": "Address-custom_backflow_location",
- "no_copy": 0,
- "non_negative": 0,
- "options": null,
- "permlevel": 0,
- "placeholder": null,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "print_width": null,
- "read_only": 0,
- "read_only_depends_on": null,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "show_dashboard": 0,
- "sort_options": 0,
- "translatable": 1,
- "unique": 0,
- "width": null
- },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -16472,6 +16415,120 @@
"unique": 0,
"width": null
},
+ {
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": null,
+ "depends_on": null,
+ "description": null,
+ "docstatus": 0,
+ "doctype": "Custom Field",
+ "dt": "Address",
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "custom_column_break_djjw3",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 0,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "insert_after": "custom_makemodel_",
+ "is_system_generated": 0,
+ "is_virtual": 0,
+ "label": "",
+ "length": 0,
+ "link_filters": null,
+ "mandatory_depends_on": null,
+ "modified": "2024-12-06 04:38:24.820901",
+ "module": null,
+ "name": "Address-custom_column_break_djjw3",
+ "no_copy": 1,
+ "non_negative": 0,
+ "options": null,
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "show_dashboard": 0,
+ "sort_options": 0,
+ "translatable": 0,
+ "unique": 0,
+ "width": null
+ },
+ {
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": null,
+ "depends_on": null,
+ "description": null,
+ "docstatus": 0,
+ "doctype": "Custom Field",
+ "dt": "Address",
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "custom_backflow_location",
+ "fieldtype": "Data",
+ "hidden": 0,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 1,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "insert_after": "custom_column_break_djjw3",
+ "is_system_generated": 0,
+ "is_virtual": 0,
+ "label": "Backflow Location:",
+ "length": 0,
+ "link_filters": null,
+ "mandatory_depends_on": null,
+ "modified": "2024-12-06 12:33:25.345256",
+ "module": null,
+ "name": "Address-custom_backflow_location",
+ "no_copy": 0,
+ "non_negative": 0,
+ "options": null,
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "show_dashboard": 0,
+ "sort_options": 0,
+ "translatable": 1,
+ "unique": 0,
+ "width": null
+ },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -16643,120 +16700,6 @@
"unique": 0,
"width": null
},
- {
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "collapsible_depends_on": null,
- "columns": 0,
- "default": null,
- "depends_on": null,
- "description": null,
- "docstatus": 0,
- "doctype": "Custom Field",
- "dt": "Address",
- "fetch_from": null,
- "fetch_if_empty": 0,
- "fieldname": "custom_column_break_slusf",
- "fieldtype": "Column Break",
- "hidden": 0,
- "hide_border": 0,
- "hide_days": 0,
- "hide_seconds": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_preview": 0,
- "in_standard_filter": 0,
- "insert_after": "custom_timer_type_and_location",
- "is_system_generated": 0,
- "is_virtual": 0,
- "label": "",
- "length": 0,
- "link_filters": null,
- "mandatory_depends_on": null,
- "modified": "2025-01-23 15:17:48.832422",
- "module": null,
- "name": "Address-custom_column_break_slusf",
- "no_copy": 0,
- "non_negative": 0,
- "options": null,
- "permlevel": 0,
- "placeholder": null,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "print_width": null,
- "read_only": 0,
- "read_only_depends_on": null,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "show_dashboard": 0,
- "sort_options": 0,
- "translatable": 0,
- "unique": 0,
- "width": null
- },
- {
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "collapsible_depends_on": null,
- "columns": 0,
- "default": null,
- "depends_on": null,
- "description": null,
- "docstatus": 0,
- "doctype": "Custom Field",
- "dt": "Address",
- "fetch_from": null,
- "fetch_if_empty": 0,
- "fieldname": "custom_section_break_5d1cf",
- "fieldtype": "Section Break",
- "hidden": 0,
- "hide_border": 0,
- "hide_days": 0,
- "hide_seconds": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_preview": 0,
- "in_standard_filter": 0,
- "insert_after": "custom_column_break_slusf",
- "is_system_generated": 0,
- "is_virtual": 0,
- "label": "Installation",
- "length": 0,
- "link_filters": null,
- "mandatory_depends_on": null,
- "modified": "2024-12-06 05:22:20.939860",
- "module": null,
- "name": "Address-custom_section_break_5d1cf",
- "no_copy": 0,
- "non_negative": 0,
- "options": null,
- "permlevel": 0,
- "placeholder": null,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "print_width": null,
- "read_only": 0,
- "read_only_depends_on": null,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "show_dashboard": 0,
- "sort_options": 0,
- "translatable": 0,
- "unique": 0,
- "width": null
- },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -16829,8 +16772,8 @@
"dt": "Address",
"fetch_from": null,
"fetch_if_empty": 0,
- "fieldname": "custom_installed_by_sprinklers_nw",
- "fieldtype": "Check",
+ "fieldname": "custom_column_break_slusf",
+ "fieldtype": "Column Break",
"hidden": 0,
"hide_border": 0,
"hide_days": 0,
@@ -16841,16 +16784,16 @@
"in_list_view": 0,
"in_preview": 0,
"in_standard_filter": 0,
- "insert_after": "custom_section_break_5d1cf",
+ "insert_after": "custom_timer_type_and_location",
"is_system_generated": 0,
"is_virtual": 0,
- "label": "Installed By Sprinklers NW",
+ "label": "",
"length": 0,
"link_filters": null,
"mandatory_depends_on": null,
- "modified": "2024-12-06 05:24:29.120640",
+ "modified": "2025-01-23 15:17:48.832422",
"module": null,
- "name": "Address-custom_installed_by_sprinklers_nw",
+ "name": "Address-custom_column_break_slusf",
"no_copy": 0,
"non_negative": 0,
"options": null,
@@ -16943,8 +16886,8 @@
"dt": "Address",
"fetch_from": null,
"fetch_if_empty": 0,
- "fieldname": "custom_column_break_th7rq",
- "fieldtype": "Column Break",
+ "fieldname": "custom_section_break_5d1cf",
+ "fieldtype": "Section Break",
"hidden": 0,
"hide_border": 0,
"hide_days": 0,
@@ -16955,16 +16898,16 @@
"in_list_view": 0,
"in_preview": 0,
"in_standard_filter": 0,
- "insert_after": "custom_installed_by_sprinklers_nw",
+ "insert_after": "custom_column_break_slusf",
"is_system_generated": 0,
"is_virtual": 0,
- "label": "",
+ "label": "Installation",
"length": 0,
"link_filters": null,
"mandatory_depends_on": null,
- "modified": "2024-12-06 05:22:21.118371",
+ "modified": "2024-12-06 05:22:20.939860",
"module": null,
- "name": "Address-custom_column_break_th7rq",
+ "name": "Address-custom_section_break_5d1cf",
"no_copy": 0,
"non_negative": 0,
"options": null,
@@ -17099,6 +17042,120 @@
"unique": 0,
"width": null
},
+ {
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": null,
+ "depends_on": null,
+ "description": null,
+ "docstatus": 0,
+ "doctype": "Custom Field",
+ "dt": "Address",
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "custom_installed_by_sprinklers_nw",
+ "fieldtype": "Check",
+ "hidden": 0,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 0,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "insert_after": "custom_section_break_5d1cf",
+ "is_system_generated": 0,
+ "is_virtual": 0,
+ "label": "Installed By Sprinklers NW",
+ "length": 0,
+ "link_filters": null,
+ "mandatory_depends_on": null,
+ "modified": "2024-12-06 05:24:29.120640",
+ "module": null,
+ "name": "Address-custom_installed_by_sprinklers_nw",
+ "no_copy": 0,
+ "non_negative": 0,
+ "options": null,
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "show_dashboard": 0,
+ "sort_options": 0,
+ "translatable": 0,
+ "unique": 0,
+ "width": null
+ },
+ {
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": null,
+ "depends_on": null,
+ "description": null,
+ "docstatus": 0,
+ "doctype": "Custom Field",
+ "dt": "Address",
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "custom_column_break_th7rq",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 0,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "insert_after": "custom_installed_by_sprinklers_nw",
+ "is_system_generated": 0,
+ "is_virtual": 0,
+ "label": "",
+ "length": 0,
+ "link_filters": null,
+ "mandatory_depends_on": null,
+ "modified": "2024-12-06 05:22:21.118371",
+ "module": null,
+ "name": "Address-custom_column_break_th7rq",
+ "no_copy": 0,
+ "non_negative": 0,
+ "options": null,
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "show_dashboard": 0,
+ "sort_options": 0,
+ "translatable": 0,
+ "unique": 0,
+ "width": null
+ },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -17327,120 +17384,6 @@
"unique": 0,
"width": null
},
- {
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "collapsible_depends_on": null,
- "columns": 0,
- "default": null,
- "depends_on": null,
- "description": null,
- "docstatus": 0,
- "doctype": "Custom Field",
- "dt": "Address",
- "fetch_from": null,
- "fetch_if_empty": 0,
- "fieldname": "custom_section_break_xfdtv",
- "fieldtype": "Section Break",
- "hidden": 0,
- "hide_border": 0,
- "hide_days": 0,
- "hide_seconds": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_preview": 0,
- "in_standard_filter": 0,
- "insert_after": "custom_column_break_4itse",
- "is_system_generated": 0,
- "is_virtual": 0,
- "label": "Attachments",
- "length": 0,
- "link_filters": null,
- "mandatory_depends_on": null,
- "modified": "2024-12-06 05:22:21.298446",
- "module": null,
- "name": "Address-custom_section_break_xfdtv",
- "no_copy": 0,
- "non_negative": 0,
- "options": null,
- "permlevel": 0,
- "placeholder": null,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "print_width": null,
- "read_only": 0,
- "read_only_depends_on": null,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "show_dashboard": 0,
- "sort_options": 0,
- "translatable": 0,
- "unique": 0,
- "width": null
- },
- {
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "collapsible_depends_on": null,
- "columns": 0,
- "default": null,
- "depends_on": null,
- "description": null,
- "docstatus": 0,
- "doctype": "Custom Field",
- "dt": "Address",
- "fetch_from": null,
- "fetch_if_empty": 0,
- "fieldname": "custom_backflow_test_report",
- "fieldtype": "Attach",
- "hidden": 0,
- "hide_border": 0,
- "hide_days": 0,
- "hide_seconds": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_preview": 0,
- "in_standard_filter": 0,
- "insert_after": "custom_section_break_xfdtv",
- "is_system_generated": 0,
- "is_virtual": 0,
- "label": "Backflow Test Report",
- "length": 0,
- "link_filters": null,
- "mandatory_depends_on": null,
- "modified": "2024-12-06 05:22:21.381843",
- "module": null,
- "name": "Address-custom_backflow_test_report",
- "no_copy": 0,
- "non_negative": 0,
- "options": null,
- "permlevel": 0,
- "placeholder": null,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "print_width": null,
- "read_only": 0,
- "read_only_depends_on": null,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "show_dashboard": 0,
- "sort_options": 0,
- "translatable": 0,
- "unique": 0,
- "width": null
- },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -17570,8 +17513,8 @@
"dt": "Address",
"fetch_from": null,
"fetch_if_empty": 0,
- "fieldname": "custom_column_break_oxppn",
- "fieldtype": "Column Break",
+ "fieldname": "custom_section_break_xfdtv",
+ "fieldtype": "Section Break",
"hidden": 0,
"hide_border": 0,
"hide_days": 0,
@@ -17582,16 +17525,16 @@
"in_list_view": 0,
"in_preview": 0,
"in_standard_filter": 0,
- "insert_after": "custom_backflow_test_report",
+ "insert_after": "custom_column_break_4itse",
"is_system_generated": 0,
"is_virtual": 0,
- "label": "",
+ "label": "Attachments",
"length": 0,
"link_filters": null,
"mandatory_depends_on": null,
- "modified": "2024-12-06 05:22:21.480422",
+ "modified": "2024-12-06 05:22:21.298446",
"module": null,
- "name": "Address-custom_column_break_oxppn",
+ "name": "Address-custom_section_break_xfdtv",
"no_copy": 0,
"non_negative": 0,
"options": null,
@@ -17684,8 +17627,8 @@
"dt": "Address",
"fetch_from": null,
"fetch_if_empty": 0,
- "fieldname": "custom_photo_attachment",
- "fieldtype": "Attach Image",
+ "fieldname": "custom_backflow_test_report",
+ "fieldtype": "Attach",
"hidden": 0,
"hide_border": 0,
"hide_days": 0,
@@ -17696,16 +17639,16 @@
"in_list_view": 0,
"in_preview": 0,
"in_standard_filter": 0,
- "insert_after": "custom_column_break_oxppn",
+ "insert_after": "custom_section_break_xfdtv",
"is_system_generated": 0,
"is_virtual": 0,
- "label": "Photo Attachment",
+ "label": "Backflow Test Report",
"length": 0,
"link_filters": null,
"mandatory_depends_on": null,
- "modified": "2024-12-06 05:22:21.561887",
+ "modified": "2024-12-06 05:22:21.381843",
"module": null,
- "name": "Address-custom_photo_attachment",
+ "name": "Address-custom_backflow_test_report",
"no_copy": 0,
"non_negative": 0,
"options": null,
@@ -17783,6 +17726,63 @@
"unique": 0,
"width": null
},
+ {
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": null,
+ "depends_on": null,
+ "description": null,
+ "docstatus": 0,
+ "doctype": "Custom Field",
+ "dt": "Address",
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "custom_column_break_oxppn",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 0,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "insert_after": "custom_backflow_test_report",
+ "is_system_generated": 0,
+ "is_virtual": 0,
+ "label": "",
+ "length": 0,
+ "link_filters": null,
+ "mandatory_depends_on": null,
+ "modified": "2024-12-06 05:22:21.480422",
+ "module": null,
+ "name": "Address-custom_column_break_oxppn",
+ "no_copy": 0,
+ "non_negative": 0,
+ "options": null,
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "show_dashboard": 0,
+ "sort_options": 0,
+ "translatable": 0,
+ "unique": 0,
+ "width": null
+ },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@@ -17840,6 +17840,63 @@
"unique": 0,
"width": null
},
+ {
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": null,
+ "depends_on": null,
+ "description": null,
+ "docstatus": 0,
+ "doctype": "Custom Field",
+ "dt": "Address",
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "custom_photo_attachment",
+ "fieldtype": "Attach Image",
+ "hidden": 0,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 0,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "insert_after": "custom_column_break_oxppn",
+ "is_system_generated": 0,
+ "is_virtual": 0,
+ "label": "Photo Attachment",
+ "length": 0,
+ "link_filters": null,
+ "mandatory_depends_on": null,
+ "modified": "2024-12-06 05:22:21.561887",
+ "module": null,
+ "name": "Address-custom_photo_attachment",
+ "no_copy": 0,
+ "non_negative": 0,
+ "options": null,
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "show_dashboard": 0,
+ "sort_options": 0,
+ "translatable": 0,
+ "unique": 0,
+ "width": null
+ },
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
diff --git a/custom_ui/fixtures/doctype.json b/custom_ui/fixtures/doctype.json
index 9c17530..a55e6c3 100644
--- a/custom_ui/fixtures/doctype.json
+++ b/custom_ui/fixtures/doctype.json
@@ -33179,5 +33179,351 @@
"track_views": 0,
"translated_doctype": 0,
"website_search_field": null
+ },
+ {
+ "_assign": null,
+ "_comments": null,
+ "_last_update": null,
+ "_liked_by": null,
+ "_user_tags": null,
+ "actions": [],
+ "allow_auto_repeat": 0,
+ "allow_copy": 0,
+ "allow_events_in_timeline": 0,
+ "allow_guest_to_view": 0,
+ "allow_import": 0,
+ "allow_rename": 1,
+ "app": null,
+ "autoname": null,
+ "beta": 0,
+ "color": null,
+ "colour": null,
+ "custom": 1,
+ "default_email_template": null,
+ "default_print_format": null,
+ "default_view": null,
+ "description": null,
+ "docstatus": 0,
+ "doctype": "DocType",
+ "document_type": "",
+ "documentation": null,
+ "editable_grid": 1,
+ "email_append_to": 0,
+ "engine": "InnoDB",
+ "fields": [
+ {
+ "allow_bulk_edit": 0,
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": "Customer",
+ "depends_on": null,
+ "description": null,
+ "documentation_url": null,
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "customer_type",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 1,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "is_virtual": 0,
+ "label": "Customer Type",
+ "length": 0,
+ "link_filters": null,
+ "make_attachment_public": 0,
+ "mandatory_depends_on": null,
+ "max_height": null,
+ "no_copy": 0,
+ "non_negative": 0,
+ "oldfieldname": null,
+ "oldfieldtype": null,
+ "options": "Customer\nLead",
+ "parent": "Address Customer Link",
+ "parentfield": "fields",
+ "parenttype": "DocType",
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "remember_last_selected_value": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
+ "show_dashboard": 0,
+ "show_on_timeline": 0,
+ "show_preview_popup": 0,
+ "sort_options": 0,
+ "translatable": 0,
+ "trigger": null,
+ "unique": 0,
+ "width": null
+ },
+ {
+ "allow_bulk_edit": 0,
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": null,
+ "depends_on": null,
+ "description": null,
+ "documentation_url": null,
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "customer_name",
+ "fieldtype": "Dynamic Link",
+ "hidden": 0,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 1,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "is_virtual": 0,
+ "label": "Customer Name",
+ "length": 0,
+ "link_filters": null,
+ "make_attachment_public": 0,
+ "mandatory_depends_on": null,
+ "max_height": null,
+ "no_copy": 0,
+ "non_negative": 0,
+ "oldfieldname": null,
+ "oldfieldtype": null,
+ "options": "customer_type",
+ "parent": "Address Customer Link",
+ "parentfield": "fields",
+ "parenttype": "DocType",
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "remember_last_selected_value": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
+ "show_dashboard": 0,
+ "show_on_timeline": 0,
+ "show_preview_popup": 0,
+ "sort_options": 0,
+ "translatable": 0,
+ "trigger": null,
+ "unique": 0,
+ "width": null
+ },
+ {
+ "allow_bulk_edit": 0,
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": null,
+ "depends_on": null,
+ "description": null,
+ "documentation_url": null,
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "relation",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 1,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "is_virtual": 0,
+ "label": "Relation",
+ "length": 0,
+ "link_filters": null,
+ "make_attachment_public": 0,
+ "mandatory_depends_on": null,
+ "max_height": null,
+ "no_copy": 0,
+ "non_negative": 0,
+ "oldfieldname": null,
+ "oldfieldtype": null,
+ "options": "Owner\nBuilder",
+ "parent": "Address Customer Link",
+ "parentfield": "fields",
+ "parenttype": "DocType",
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "remember_last_selected_value": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
+ "show_dashboard": 0,
+ "show_on_timeline": 0,
+ "show_preview_popup": 0,
+ "sort_options": 0,
+ "translatable": 0,
+ "trigger": null,
+ "unique": 0,
+ "width": null
+ },
+ {
+ "allow_bulk_edit": 0,
+ "allow_in_quick_entry": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "collapsible_depends_on": null,
+ "columns": 0,
+ "default": "1",
+ "depends_on": null,
+ "description": null,
+ "documentation_url": null,
+ "fetch_from": null,
+ "fetch_if_empty": 0,
+ "fieldname": "is_active",
+ "fieldtype": "Check",
+ "hidden": 0,
+ "hide_border": 0,
+ "hide_days": 0,
+ "hide_seconds": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 0,
+ "in_preview": 0,
+ "in_standard_filter": 0,
+ "is_virtual": 0,
+ "label": "Active",
+ "length": 0,
+ "link_filters": null,
+ "make_attachment_public": 0,
+ "mandatory_depends_on": null,
+ "max_height": null,
+ "no_copy": 0,
+ "non_negative": 0,
+ "oldfieldname": null,
+ "oldfieldtype": null,
+ "options": null,
+ "parent": "Address Customer Link",
+ "parentfield": "fields",
+ "parenttype": "DocType",
+ "permlevel": 0,
+ "placeholder": null,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": null,
+ "read_only": 0,
+ "read_only_depends_on": null,
+ "remember_last_selected_value": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "show_dashboard": 0,
+ "show_on_timeline": 0,
+ "show_preview_popup": 0,
+ "sort_options": 0,
+ "translatable": 0,
+ "trigger": null,
+ "unique": 0,
+ "width": null
+ }
+ ],
+ "force_re_route_to_default_view": 0,
+ "grid_page_length": 50,
+ "has_web_view": 0,
+ "hide_toolbar": 0,
+ "icon": null,
+ "image_field": null,
+ "in_create": 0,
+ "index_web_pages_for_search": 1,
+ "is_calendar_and_gantt": 0,
+ "is_published_field": null,
+ "is_submittable": 0,
+ "is_tree": 0,
+ "is_virtual": 0,
+ "issingle": 0,
+ "istable": 1,
+ "links": [],
+ "make_attachments_public": 0,
+ "max_attachments": 0,
+ "menu_index": null,
+ "migration_hash": null,
+ "modified": "2026-02-17 08:14:21.379886",
+ "module": "Custom UI",
+ "name": "Address Customer Link",
+ "naming_rule": "",
+ "nsm_parent_field": null,
+ "parent_node": null,
+ "permissions": [],
+ "print_outline": null,
+ "protect_attached_files": 0,
+ "queue_in_background": 0,
+ "quick_entry": 0,
+ "read_only": 0,
+ "recipient_account_field": null,
+ "restrict_to_domain": null,
+ "route": null,
+ "row_format": "Dynamic",
+ "rows_threshold_for_grid_search": 20,
+ "search_fields": null,
+ "sender_field": null,
+ "sender_name_field": null,
+ "show_name_in_global_search": 0,
+ "show_preview_popup": 0,
+ "show_title_field_in_link": 0,
+ "smallicon": null,
+ "sort_field": "modified",
+ "sort_order": "DESC",
+ "states": [],
+ "subject": null,
+ "subject_field": null,
+ "tag_fields": null,
+ "timeline_field": null,
+ "title_field": null,
+ "track_changes": 0,
+ "track_seen": 0,
+ "track_views": 0,
+ "translated_doctype": 0,
+ "website_search_field": null
}
]
\ No newline at end of file
diff --git a/custom_ui/fixtures/project_template.json b/custom_ui/fixtures/project_template.json
index d110516..5c095ce 100644
--- a/custom_ui/fixtures/project_template.json
+++ b/custom_ui/fixtures/project_template.json
@@ -1,13 +1,13 @@
[
{
"bid_meeting_note_form": "SNW Install Bid Meeting Notes",
- "calendar_color": "#CB2929",
+ "calendar_color": "#c1dec5",
"company": "Sprinklers Northwest",
"custom__complete_method": "Task Weight",
"docstatus": 0,
"doctype": "Project Template",
"item_groups": "SNW-I, SNW-S, SNW-LS",
- "modified": "2026-02-15 01:31:39.325004",
+ "modified": "2026-02-16 03:59:53.719382",
"name": "SNW Install",
"project_type": "External",
"tasks": [
diff --git a/custom_ui/fixtures/property_setter.json b/custom_ui/fixtures/property_setter.json
index 2d02baa..bcf5bcf 100644
--- a/custom_ui/fixtures/property_setter.json
+++ b/custom_ui/fixtures/property_setter.json
@@ -95,22 +95,6 @@
"row_name": null,
"value": "[\"weight\", \"description\", \"base_date\", \"offset_days\", \"skip_weekends\", \"skip_holidays\", \"logic_key\", \"offset_direction\", \"title\", \"days\", \"calculate_from\", \"trigger\", \"task_type_calculate_from\", \"work_type\", \"no_due_date\", \"triggering_doctype\", \"custom_completion_trigger\", \"custom_completion_trigger_doctype\", \"target_percent\"]"
},
- {
- "default_value": null,
- "doc_type": "Contact",
- "docstatus": 0,
- "doctype": "Property Setter",
- "doctype_or_field": "DocField",
- "field_name": "email_id",
- "is_system_generated": 0,
- "modified": "2025-01-06 14:08:26.445944",
- "module": null,
- "name": "Contact-email_id-options",
- "property": "options",
- "property_type": "Text",
- "row_name": null,
- "value": "email_id"
- },
{
"default_value": null,
"doc_type": "Pre-Built Routes",
@@ -10415,22 +10399,6 @@
"row_name": null,
"value": "None"
},
- {
- "default_value": null,
- "doc_type": "Customer",
- "docstatus": 0,
- "doctype": "Property Setter",
- "doctype_or_field": "DocType",
- "field_name": null,
- "is_system_generated": 0,
- "modified": "2025-02-05 06:03:40.318065",
- "module": null,
- "name": "Customer-main-field_order",
- "property": "field_order",
- "property_type": "Data",
- "row_name": null,
- "value": "[\"basic_info\", \"naming_series\", \"salutation\", \"customer_name\", \"customer_type\", \"customer_group\", \"custom_appointment_date\", \"column_break0\", \"territory\", \"gender\", \"lead_name\", \"opportunity_name\", \"account_manager\", \"image\", \"defaults_tab\", \"default_currency\", \"default_bank_account\", \"column_break_14\", \"default_price_list\", \"custom_previous_year_price\", \"internal_customer_section\", \"is_internal_customer\", \"represents_company\", \"column_break_70\", \"companies\", \"more_info\", \"market_segment\", \"industry\", \"customer_pos_id\", \"website\", \"language\", \"column_break_45\", \"customer_details\", \"contact_and_address_tab\", \"address_contacts\", \"address_html\", \"column_break1\", \"contact_html\", \"custom_related_addresses\", \"custom_select_address\", \"custom_associated_contacts\", \"custom_add_contacts\", \"custom_primary_billing_and_contact_details\", \"custom_billing_address\", \"custom_column_break_q0puw\", \"custom_billing_contact\", \"primary_address_and_contact_detail\", \"column_break_26\", \"primary_address\", \"customer_primary_address\", \"column_break_nwor\", \"customer_primary_contact\", \"mobile_no\", \"email_id\", \"tax_tab\", \"taxation_section\", \"tax_id\", \"column_break_21\", \"tax_category\", \"tax_withholding_category\", \"accounting_tab\", \"credit_limit_section\", \"payment_terms\", \"credit_limits\", \"default_receivable_accounts\", \"accounts\", \"loyalty_points_tab\", \"loyalty_program\", \"column_break_54\", \"loyalty_program_tier\", \"sales_team_tab\", \"sales_team\", \"sales_team_section\", \"default_sales_partner\", \"column_break_66\", \"default_commission_rate\", \"settings_tab\", \"so_required\", \"dn_required\", \"exempt_from_sales_tax\", \"column_break_53\", \"is_frozen\", \"disabled\", \"portal_users_tab\", \"portal_users\", \"dashboard_tab\"]"
- },
{
"default_value": null,
"doc_type": "SMS Log",
@@ -12751,22 +12719,6 @@
"row_name": null,
"value": "format:{full_address)-#-{MM}-{YYYY}-{####}"
},
- {
- "default_value": null,
- "doc_type": "Address",
- "docstatus": 0,
- "doctype": "Property Setter",
- "doctype_or_field": "DocType",
- "field_name": null,
- "is_system_generated": 0,
- "modified": "2026-01-21 03:31:53.827100",
- "module": null,
- "name": "Address-main-field_order",
- "property": "field_order",
- "property_type": "Data",
- "row_name": null,
- "value": "[\"address_details\", \"custom_column_break_vqa4d\", \"custom_column_break_jw2ty\", \"custom_installationservice_address\", \"custom_billing_address\", \"is_shipping_address\", \"is_primary_address\", \"custom_is_compnay_address\", \"custom_column_break_ky1zo\", \"custom_estimate_sent_status\", \"custom_onsite_meeting_scheduled\", \"custom_job_status\", \"custom_payment_received_status\", \"custom_section_break_fvgdt\", \"address_title\", \"primary_contact\", \"address_type\", \"address_line1\", \"address_line2\", \"custom_linked_city\", \"custom_subdivision\", \"is_your_company_address\", \"custom_column_break_3mo7x\", \"state\", \"city\", \"pincode\", \"county\", \"country\", \"full_address\", \"latitude\", \"longitude\", \"onsite_meeting_scheduled\", \"estimate_sent_status\", \"job_status\", \"payment_received_status\", \"custom_column_break_rrto0\", \"custom_customer_to_bill\", \"lead_name\", \"customer_type\", \"customer_name\", \"contacts\", \"companies\", \"quotations\", \"onsite_meetings\", \"projects\", \"sales_orders\", \"tasks\", \"custom_contact_name\", \"phone\", \"email_id\", \"fax\", \"tax_category\", \"disabled\", \"custom_section_break_aecpx\", \"column_break0\", \"custom_show_irrigation_district\", \"custom_google_map\", \"custom_latitude\", \"custom_longitude\", \"custom_address_for_coordinates\", \"linked_with\", \"custom_linked_contacts\", \"links\", \"custom_column_break_9cbvb\", \"custom_linked_companies\", \"custom_irrigation\", \"custom_upcoming_services\", \"custom_service_type\", \"custom_service_route\", \"custom_confirmation_status\", \"custom_backflow_test_form_filed\", \"custom_column_break_j79td\", \"custom_technician_assigned\", \"custom_scheduled_date\", \"custom_column_break_sqplk\", \"custom_test_route\", \"custom_tech\", \"custom_column_break_wcs7g\", \"custom_section_break_zruvq\", \"custom_irrigation_district\", \"custom_serial_\", \"custom_makemodel_\", \"custom_column_break_djjw3\", \"custom_backflow_location\", \"custom_shutoff_location\", \"custom_valve_boxes\", \"custom_timer_type_and_location\", \"custom_column_break_slusf\", \"custom_section_break_5d1cf\", \"custom_installed_by_sprinklers_nw\", \"custom_column_break_th7rq\", \"custom_installed_for\", \"custom_install_month\", \"custom_install_year\", \"custom_column_break_4itse\", \"custom_section_break_xfdtv\", \"custom_backflow_test_report\", \"custom_column_break_oxppn\", \"custom_photo_attachment\"]"
- },
{
"default_value": null,
"doc_type": "Project Template",
@@ -15119,38 +15071,6 @@
"row_name": null,
"value": "format:{custom_customer_name}-#-{YYYY}-{MM}-{####}"
},
- {
- "default_value": null,
- "doc_type": "Address",
- "docstatus": 0,
- "doctype": "Property Setter",
- "doctype_or_field": "DocType",
- "field_name": null,
- "is_system_generated": 0,
- "modified": "2026-01-26 02:35:09.522811",
- "module": null,
- "name": "Address-main-links_order",
- "property": "links_order",
- "property_type": "Small Text",
- "row_name": null,
- "value": "[\"21ddd8462e\", \"c26b89d0d3\", \"ee207f2316\"]"
- },
- {
- "default_value": null,
- "doc_type": "Address",
- "docstatus": 0,
- "doctype": "Property Setter",
- "doctype_or_field": "DocType",
- "field_name": null,
- "is_system_generated": 0,
- "modified": "2026-01-26 02:35:09.598292",
- "module": null,
- "name": "Address-main-states_order",
- "property": "states_order",
- "property_type": "Small Text",
- "row_name": null,
- "value": "[\"62m56h85vo\", \"62m5uugrvr\", \"62m57bgpkf\", \"62m5fgrjb0\"]"
- },
{
"default_value": null,
"doc_type": "Contact",
@@ -15167,22 +15087,6 @@
"row_name": null,
"value": "Expression"
},
- {
- "default_value": null,
- "doc_type": "Contact",
- "docstatus": 0,
- "doctype": "Property Setter",
- "doctype_or_field": "DocType",
- "field_name": null,
- "is_system_generated": 0,
- "modified": "2026-01-26 02:40:01.427255",
- "module": null,
- "name": "Contact-main-autoname",
- "property": "autoname",
- "property_type": "Data",
- "row_name": null,
- "value": "format:{full-name}-#-{MM}-{YYYY}-{####}"
- },
{
"default_value": null,
"doc_type": "Contact",
@@ -15262,5 +15166,117 @@
"property_type": "Data",
"row_name": null,
"value": "[\"custom_column_break_k7sgq\", \"custom_installation_address\", \"naming_series\", \"project_name\", \"job_address\", \"status\", \"custom_warranty_duration_days\", \"custom_warranty_expiration_date\", \"custom_warranty_information\", \"project_type\", \"percent_complete_method\", \"percent_complete\", \"column_break_5\", \"project_template\", \"expected_start_date\", \"expected_start_time\", \"expected_end_date\", \"expected_end_time\", \"requires_half_payment\", \"is_half_down_paid\", \"is_scheduled\", \"invoice_status\", \"custom_completion_date\", \"priority\", \"custom_foreman\", \"custom_hidden_fields\", \"department\", \"service_appointment\", \"tasks\", \"ready_to_schedule\", \"is_active\", \"custom_address\", \"custom_section_break_lgkpd\", \"custom_workflow_related_custom_fields__landry\", \"custom_permit_status\", \"custom_utlity_locate_status\", \"custom_crew_scheduling\", \"customer_details\", \"customer\", \"column_break_14\", \"sales_order\", \"users_section\", \"users\", \"copied_from\", \"section_break0\", \"notes\", \"section_break_18\", \"actual_start_date\", \"actual_start_time\", \"actual_time\", \"column_break_20\", \"actual_end_date\", \"actual_end_time\", \"project_details\", \"estimated_costing\", \"total_costing_amount\", \"total_expense_claim\", \"total_purchase_cost\", \"company\", \"column_break_28\", \"total_sales_amount\", \"total_billable_amount\", \"total_billed_amount\", \"total_consumed_material_cost\", \"cost_center\", \"margin\", \"gross_margin\", \"column_break_37\", \"per_gross_margin\", \"monitor_progress\", \"collect_progress\", \"holiday_list\", \"frequency\", \"from_time\", \"to_time\", \"first_email\", \"second_email\", \"daily_time_to_send\", \"day_to_send\", \"weekly_time_to_send\", \"column_break_45\", \"subject\", \"message\"]"
+ },
+ {
+ "default_value": null,
+ "doc_type": "Customer",
+ "docstatus": 0,
+ "doctype": "Property Setter",
+ "doctype_or_field": "DocType",
+ "field_name": null,
+ "is_system_generated": 0,
+ "modified": "2026-02-17 03:51:08.179106",
+ "module": null,
+ "name": "Customer-main-naming_rule",
+ "property": "naming_rule",
+ "property_type": "Data",
+ "row_name": null,
+ "value": "Expression"
+ },
+ {
+ "default_value": null,
+ "doc_type": "Customer",
+ "docstatus": 0,
+ "doctype": "Property Setter",
+ "doctype_or_field": "DocType",
+ "field_name": null,
+ "is_system_generated": 0,
+ "modified": "2026-02-17 03:51:08.313125",
+ "module": null,
+ "name": "Customer-main-autoname",
+ "property": "autoname",
+ "property_type": "Data",
+ "row_name": null,
+ "value": "format:{customer_name}-CUST-{MM}-{YYYY}-{#####}"
+ },
+ {
+ "default_value": null,
+ "doc_type": "Customer",
+ "docstatus": 0,
+ "doctype": "Property Setter",
+ "doctype_or_field": "DocType",
+ "field_name": null,
+ "is_system_generated": 0,
+ "modified": "2026-02-17 03:51:08.370590",
+ "module": null,
+ "name": "Customer-main-field_order",
+ "property": "field_order",
+ "property_type": "Data",
+ "row_name": null,
+ "value": "[\"basic_info\", \"naming_series\", \"salutation\", \"customer_name\", \"from_lead\", \"properties\", \"contacts\", \"primary_contact\", \"customer_type\", \"customer_group\", \"custom_appointment_date\", \"column_break0\", \"territory\", \"gender\", \"lead_name\", \"opportunity_name\", \"prospect_name\", \"account_manager\", \"image\", \"defaults_tab\", \"default_currency\", \"default_bank_account\", \"column_break_14\", \"default_price_list\", \"custom_previous_year_price\", \"internal_customer_section\", \"is_internal_customer\", \"represents_company\", \"column_break_70\", \"companies\", \"quotations\", \"onsite_meetings\", \"projects\", \"tasks\", \"sales_orders\", \"more_info\", \"market_segment\", \"industry\", \"customer_pos_id\", \"website\", \"language\", \"column_break_45\", \"customer_details\", \"contact_and_address_tab\", \"address_contacts\", \"address_html\", \"column_break1\", \"contact_html\", \"custom_related_addresses\", \"custom_select_address\", \"custom_associated_contacts\", \"custom_add_contacts\", \"custom_primary_billing_and_contact_details\", \"custom_billing_address\", \"custom_column_break_q0puw\", \"custom_billing_contact\", \"primary_address_and_contact_detail\", \"column_break_26\", \"primary_address\", \"customer_primary_address\", \"column_break_nwor\", \"customer_primary_contact\", \"mobile_no\", \"email_id\", \"first_name\", \"last_name\", \"tax_tab\", \"taxation_section\", \"tax_id\", \"column_break_21\", \"tax_category\", \"tax_withholding_category\", \"accounting_tab\", \"credit_limit_section\", \"payment_terms\", \"credit_limits\", \"default_receivable_accounts\", \"accounts\", \"loyalty_points_tab\", \"loyalty_program\", \"column_break_54\", \"loyalty_program_tier\", \"sales_team_tab\", \"sales_team\", \"sales_team_section\", \"default_sales_partner\", \"column_break_66\", \"default_commission_rate\", \"settings_tab\", \"so_required\", \"dn_required\", \"exempt_from_sales_tax\", \"column_break_53\", \"is_frozen\", \"disabled\", \"portal_users_tab\", \"portal_users\", \"dashboard_tab\"]"
+ },
+ {
+ "default_value": null,
+ "doc_type": "Contact",
+ "docstatus": 0,
+ "doctype": "Property Setter",
+ "doctype_or_field": "DocType",
+ "field_name": null,
+ "is_system_generated": 0,
+ "modified": "2026-02-17 03:53:14.660505",
+ "module": null,
+ "name": "Contact-main-autoname",
+ "property": "autoname",
+ "property_type": "Data",
+ "row_name": null,
+ "value": "format:{full_name}-CONT-{MM}-{YYYY}-{####}"
+ },
+ {
+ "default_value": null,
+ "doc_type": "Address",
+ "docstatus": 0,
+ "doctype": "Property Setter",
+ "doctype_or_field": "DocType",
+ "field_name": null,
+ "is_system_generated": 0,
+ "modified": "2026-02-17 08:16:54.459462",
+ "module": null,
+ "name": "Address-main-field_order",
+ "property": "field_order",
+ "property_type": "Data",
+ "row_name": null,
+ "value": "[\"address_details\", \"custom_column_break_vqa4d\", \"custom_column_break_jw2ty\", \"custom_installationservice_address\", \"custom_billing_address\", \"is_shipping_address\", \"is_primary_address\", \"custom_is_compnay_address\", \"custom_column_break_ky1zo\", \"custom_estimate_sent_status\", \"custom_onsite_meeting_scheduled\", \"custom_job_status\", \"custom_payment_received_status\", \"custom_section_break_fvgdt\", \"address_title\", \"primary_contact\", \"address_type\", \"address_line1\", \"address_line2\", \"custom_linked_city\", \"custom_subdivision\", \"is_your_company_address\", \"custom_column_break_3mo7x\", \"state\", \"city\", \"pincode\", \"county\", \"country\", \"full_address\", \"latitude\", \"longitude\", \"onsite_meeting_scheduled\", \"estimate_sent_status\", \"job_status\", \"payment_received_status\", \"custom_column_break_rrto0\", \"custom_customer_to_bill\", \"lead_name\", \"customer_type\", \"customer_name\", \"contacts\", \"companies\", \"quotations\", \"onsite_meetings\", \"projects\", \"sales_orders\", \"tasks\", \"custom_contact_name\", \"phone\", \"email_id\", \"fax\", \"tax_category\", \"disabled\", \"is_service_address\", \"customers\", \"custom_section_break_aecpx\", \"column_break0\", \"custom_show_irrigation_district\", \"custom_google_map\", \"custom_latitude\", \"custom_longitude\", \"custom_address_for_coordinates\", \"linked_with\", \"custom_linked_contacts\", \"links\", \"custom_column_break_9cbvb\", \"custom_linked_companies\", \"custom_irrigation\", \"custom_upcoming_services\", \"custom_service_type\", \"custom_service_route\", \"custom_confirmation_status\", \"custom_backflow_test_form_filed\", \"custom_column_break_j79td\", \"custom_technician_assigned\", \"custom_scheduled_date\", \"custom_column_break_sqplk\", \"custom_test_route\", \"custom_tech\", \"custom_column_break_wcs7g\", \"custom_section_break_zruvq\", \"custom_irrigation_district\", \"custom_serial_\", \"custom_makemodel_\", \"custom_column_break_djjw3\", \"custom_backflow_location\", \"custom_shutoff_location\", \"custom_valve_boxes\", \"custom_timer_type_and_location\", \"custom_column_break_slusf\", \"custom_section_break_5d1cf\", \"custom_installed_by_sprinklers_nw\", \"custom_column_break_th7rq\", \"custom_installed_for\", \"custom_install_month\", \"custom_install_year\", \"custom_column_break_4itse\", \"custom_section_break_xfdtv\", \"custom_backflow_test_report\", \"custom_column_break_oxppn\", \"custom_photo_attachment\"]"
+ },
+ {
+ "default_value": null,
+ "doc_type": "Address",
+ "docstatus": 0,
+ "doctype": "Property Setter",
+ "doctype_or_field": "DocType",
+ "field_name": null,
+ "is_system_generated": 0,
+ "modified": "2026-02-17 08:16:54.562064",
+ "module": null,
+ "name": "Address-main-links_order",
+ "property": "links_order",
+ "property_type": "Small Text",
+ "row_name": null,
+ "value": "[\"21ddd8462e\", \"c26b89d0d3\", \"ee207f2316\"]"
+ },
+ {
+ "default_value": null,
+ "doc_type": "Address",
+ "docstatus": 0,
+ "doctype": "Property Setter",
+ "doctype_or_field": "DocType",
+ "field_name": null,
+ "is_system_generated": 0,
+ "modified": "2026-02-17 08:16:54.619557",
+ "module": null,
+ "name": "Address-main-states_order",
+ "property": "states_order",
+ "property_type": "Small Text",
+ "row_name": null,
+ "value": "[\"62m56h85vo\", \"62m5uugrvr\", \"62m57bgpkf\", \"62m5fgrjb0\"]"
}
]
\ No newline at end of file
diff --git a/custom_ui/fixtures/task_type.json b/custom_ui/fixtures/task_type.json
index 4160529..c5a0909 100644
--- a/custom_ui/fixtures/task_type.json
+++ b/custom_ui/fixtures/task_type.json
@@ -324,31 +324,6 @@
"weight": 0.0,
"work_type": "Admin"
},
- {
- "base_date": "Start",
- "calculate_from": "Service Address 2",
- "custom_completion_trigger": null,
- "custom_completion_trigger_doctype": null,
- "custom_target_percent": 0,
- "days": 0,
- "description": "Permits required prior to installation start.",
- "docstatus": 0,
- "doctype": "Task Type",
- "logic_key": null,
- "modified": "2026-02-08 01:48:15.012387",
- "name": "Permit",
- "no_due_date": 0,
- "offset_days": 7,
- "offset_direction": "Before",
- "skip_holidays": 1,
- "skip_weekends": 0,
- "task_type_calculate_from": null,
- "title": "Permit",
- "trigger": "Scheduled",
- "triggering_doctype": "Service Address 2",
- "weight": 7.0,
- "work_type": "Admin"
- },
{
"base_date": "Completion",
"calculate_from": "Service Address 2",
@@ -424,6 +399,31 @@
"weight": 25.0,
"work_type": "Labor"
},
+ {
+ "base_date": "Start",
+ "calculate_from": "Service Address 2",
+ "custom_completion_trigger": null,
+ "custom_completion_trigger_doctype": null,
+ "custom_target_percent": 0,
+ "days": 0,
+ "description": "Permits required prior to installation start.",
+ "docstatus": 0,
+ "doctype": "Task Type",
+ "logic_key": null,
+ "modified": "2026-02-08 01:48:15.012387",
+ "name": "Permit",
+ "no_due_date": 0,
+ "offset_days": 7,
+ "offset_direction": "Before",
+ "skip_holidays": 1,
+ "skip_weekends": 0,
+ "task_type_calculate_from": null,
+ "title": "Permit",
+ "trigger": "Scheduled",
+ "triggering_doctype": "Service Address 2",
+ "weight": 7.0,
+ "work_type": "Admin"
+ },
{
"base_date": "Project Start",
"calculate_from": "Service Appointment",
diff --git a/custom_ui/services/db_restore_service.py b/custom_ui/services/db_restore_service.py
new file mode 100644
index 0000000..a6c37c9
--- /dev/null
+++ b/custom_ui/services/db_restore_service.py
@@ -0,0 +1,20 @@
+import frappe
+
+class DBRestoreService:
+ @staticmethod
+ def massage_customer_address_contact_links():
+ """Fixes the links between Customer, Address, and Contacts from legacy data that may have been imported without proper linking."""
+ # use emojis in print statments to make it more fun and visually distinct in the logs
+ print("DEBUG: 🛠️ Starting to massage customer, address, and contact links")
+ all_addresses = frappe.get_all("Address", pluck="name")
+ print(f"DEBUG: Found {len(all_addresses)} addresses to process")
+ all_customers = frappe.get_all("Customer", pluck="name")
+ print(f"DEBUG: Found {len(all_customers)} customers to process")
+ all_leads = frappe.get_all("Lead", pluck="name")
+ print(f"DEBUG: Found {len(all_leads)} leads to process")
+ all_contacts = frappe.get_all("Contact", pluck="name")
+ print(f"DEBUG: Found {len(all_contacts)} contacts to process")
+
+ # query all customer doctypes that don't have an empty array for custom_select_address. This field is a child table so get_all cannot be used. We need to use a custom sql query
+ # the child table is a doctype called "Custom "
+ # print(f"DEBUG: Found {len(customers_with_addresses)} customers with addresses to process")
\ No newline at end of file
diff --git a/custom_ui/services/service_appointment_service.py b/custom_ui/services/service_appointment_service.py
index 2ba915a..da8982c 100644
--- a/custom_ui/services/service_appointment_service.py
+++ b/custom_ui/services/service_appointment_service.py
@@ -24,6 +24,7 @@ class ServiceAppointmentService:
service_appointment["service_address"] = AddressService.get_or_throw(service_appointment["service_address"]).as_dict()
service_appointment["customer"] = ClientService.get_client_or_throw(service_appointment["customer"]).as_dict()
service_appointment["project"] = DbService.get_or_throw("Project", service_appointment["project"]).as_dict()
+ service_appointment["color"] = frappe.get_value("Project Template", service_appointment["project_template"], "calendar_color")
return service_appointment
@@ -43,20 +44,21 @@ class ServiceAppointmentService:
if end_time:
service_appointment.expected_end_time = end_time
if skip_days:
- current_skip_days
+ print(f"DEBUG: Updating skip days for Service Appointment {service_appointment_name}. Current skip days: {[skip_day.date for skip_day in service_appointment.skip_days]}, New skip days: {skip_days}")
# Compare skip_days with the current skip_days and remove/add as needed
- current_skip_days = set([skip_day.date for skip_day in service_appointment.skip_days])
- new_skip_days = set(skip_days)
+ current_skip_days = [skip_day.date for skip_day in service_appointment.skip_days]
# Remove skip days that are no longer needed
- for skip_day in current_skip_days - new_skip_days:
- skip_day_doc = service_appointment.skip_days.find(lambda d: d.date == skip_day)
- if skip_day_doc:
- service_appointment.skip_days.remove(skip_day_doc.name)
- print(f"DEBUG: Removed skip day {skip_day} from Service Appointment {service_appointment_name}")
+ for skip_day in current_skip_days:
+ if skip_day not in skip_days:
+ skip_day_doc = service_appointment.skip_days.find(lambda d: d.date == skip_day)
+ if skip_day_doc:
+ service_appointment.skip_days.remove(skip_day_doc.name)
+ print(f"DEBUG: Removed skip day {skip_day} from Service Appointment {service_appointment_name}")
# Add new skip days
- for skip_day in new_skip_days - current_skip_days:
- service_appointment.append("skip_days", {"date": skip_day})
- print(f"DEBUG: Added new skip day {skip_day} for Service Appointment {service_appointment_name}")
+ for skip_day in skip_days:
+ if skip_day not in current_skip_days:
+ service_appointment.append("skip_days", {"date": skip_day["date"]})
+ print(f"DEBUG: Added new skip day {skip_day} for Service Appointment {service_appointment_name}")
service_appointment.save()
print(f"DEBUG: Updated scheduled dates for Service Appointment {service_appointment_name}")
return service_appointment
diff --git a/frontend/src/api.js b/frontend/src/api.js
index c8f41b2..82c2d06 100644
--- a/frontend/src/api.js
+++ b/frontend/src/api.js
@@ -68,6 +68,7 @@ const FRAPPE_GET_CLIENT_TABLE_DATA_V2_METHOD = "custom_ui.api.db.clients.get_cli
const FRAPPE_GET_CLIENT_METHOD = "custom_ui.api.db.clients.get_client_v2";
const FRAPPE_GET_CLIENT_NAMES_METHOD = "custom_ui.api.db.clients.get_client_names";
const FRAPPE_CHECK_CLIENT_EXISTS_METHOD = "custom_ui.api.db.clients.check_client_exists";
+const FRAPPE_ADD_ADDRESSES_CONTACTS_METHOD = "custom_ui.api.db.clients.add_addresses_contacts";
// Employee methods
const FRAPPE_GET_EMPLOYEES_METHOD = "custom_ui.api.db.employees.get_employees";
const FRAPPE_GET_EMPLOYEES_ORGANIZED_METHOD = "custom_ui.api.db.employees.get_employees_organized";
@@ -81,7 +82,7 @@ const FRAPPE_UPDATE_SERVICE_APPOINTMENT_SCHEDULED_DATES_METHOD = "custom_ui.api.
const FRAPPE_UPDATE_SERVICE_APPOINTMENT_STATUS_METHOD = "custom_ui.api.db.service_appointments.update_service_appointment_status";
class Api {
// ============================================================================
- // CORE REQUEST METHOPD
+ // CORE REQUEST METHOD
// ============================================================================
static async request(frappeMethod, args = {}) {
@@ -183,6 +184,10 @@ class Api {
return result;
}
+ static async addAddressesAndContacts(clientName, companyName, addresses = [], contacts = []) {
+ return await this.request(FRAPPE_ADD_ADDRESSES_CONTACTS_METHOD, { clientName, companyName, addresses, contacts });
+ }
+
// ============================================================================
// ON-SITE MEETING METHODS
// ============================================================================
diff --git a/frontend/src/components/calendar/jobs/SNWProjectCalendar.vue b/frontend/src/components/calendar/jobs/SNWProjectCalendar.vue
index ec5dbbb..f3a9af5 100644
--- a/frontend/src/components/calendar/jobs/SNWProjectCalendar.vue
+++ b/frontend/src/components/calendar/jobs/SNWProjectCalendar.vue
@@ -57,7 +57,9 @@
Select Project Templates
-
+ if (isHoliday(date)) {
+ classes.push('holiday');
+ }
@@ -203,7 +205,7 @@