diff --git a/ury/hooks.py b/ury/hooks.py index e75c3fcf..fc9d41af 100644 --- a/ury/hooks.py +++ b/ury/hooks.py @@ -18,7 +18,8 @@ "/assets/ury/js/quick_entry.js", "/assets/ury/js/pos_print.js", "/assets/ury/js/restrict_qty_edit_pos.js", - "/assets/ury/js/ury_pos_kot.js" + "/assets/ury/js/ury_pos_kot.js", + "/assets/ury/js/quality_review.js" ] # include js, css files in header of web template @@ -35,12 +36,12 @@ # include js in page page_js = {"point-of-sale": ["public/js/pos_extend.js"]} + # include js in doctype views # doctype_js = {"POS Invoive" : "public/js/pos_print.js"} # doctype_list_js = {"doctype" : "public/js/doctype_list.js"} # doctype_tree_js = {"doctype" : "public/js/doctype_tree.js"} # doctype_calendar_js = {"doctype" : "public/js/doctype_calendar.js"} - # Splash Image in Website Settings website_context = {"splash_image": "/assets/ury/Images/ury-logo.jpg"} @@ -121,30 +122,45 @@ "POS Invoice": { "before_insert": "ury.ury.hooks.ury_pos_invoice.before_insert", "validate": "ury.ury.hooks.ury_pos_invoice.validate", - "after_insert":"ury.ury.api.ury_kot_order_number.set_order_number", + "after_insert": "ury.ury.api.ury_kot_order_number.set_order_number", "before_submit": "ury.ury.hooks.ury_pos_invoice.before_submit", "on_cancel": "ury.ury.hooks.ury_pos_invoice.on_trash", "on_trash": "ury.ury.hooks.ury_pos_invoice.on_trash", }, - "POS Profile": {"validate": "ury.ury.hooks.ury_pos_profile.validate"}, + + "POS Profile": { + "validate": "ury.ury.hooks.ury_pos_profile.validate" + }, + "Sales Invoice": { "before_insert": "ury.ury.hooks.ury_sales_invoice.before_insert", - "on_update":"ury.ury.hooks.ury_sales_invoice.on_update", - }, - "Customer": {"before_save": "ury.ury.hooks.ury_customer.before_insert"}, - "Item": {"validate": "ury.ury.hooks.ury_item.validate"}, + "on_update": "ury.ury.hooks.ury_sales_invoice.on_update", + }, + + "Customer": { + "before_save": "ury.ury.hooks.ury_customer.before_insert" + }, + + "Item": { + "validate": "ury.ury.hooks.ury_item.validate" + }, + "POS Opening Entry": { - "validate":"ury.ury.hooks.ury_pos_opening_entry.set_cashier_room", + "validate": "ury.ury.hooks.ury_pos_opening_entry.validate", "before_save": "ury.ury.hooks.ury_pos_opening_entry.before_save", - "before_insert":"ury.ury.api.ury_kot_order_number.set_last_invoice_in_pos_open", - }, + "before_insert": "ury.ury.api.ury_kot_order_number.set_last_invoice_in_pos_open", + + }, + "POS Closing Entry": { "before_save": "ury.ury.hooks.ury_pos_closing_entry.before_save", - "validate":"ury.ury.hooks.ury_pos_closing_entry.validate" - }, + "validate": "ury.ury.hooks.ury_pos_closing_entry.validate", + "before_submit": "ury.ury.hooks.ury_pos_closing_entry.validate_pos_closing_quality_review", + }, + "URY Menu Course": { - "validate": "ury.ury.api.ury_menu_course_validation.validate_priority", - } + "validate": "ury.ury.api.ury_menu_course_validation.validate_priority", + } } # Scheduled Tasks @@ -373,4 +389,4 @@ }, {"dt": "Role", "filters": [["role_name", "like", "URY %"]]}, "Client Script", -] +] \ No newline at end of file diff --git a/ury/public/js/quality_review.js b/ury/public/js/quality_review.js new file mode 100644 index 00000000..80455faa --- /dev/null +++ b/ury/public/js/quality_review.js @@ -0,0 +1,9 @@ +frappe.ui.form.on("Quality Review", { + setup(frm) { + frm.set_query("goal", function () { + return { + query: "ury.ury.api.quality_goal.quality_goal_for_current_user" + }; + }); + } +}); diff --git a/ury/ury/api/pos_checklist.py b/ury/ury/api/pos_checklist.py new file mode 100644 index 00000000..a3619f54 --- /dev/null +++ b/ury/ury/api/pos_checklist.py @@ -0,0 +1,76 @@ +import frappe +from frappe.utils import flt, get_datetime, today +from ury.ury_pos.api import getBranch + + +@frappe.whitelist() +def checklist(**kwargs): + today_date = today() + employee = frappe.session.user + branchName = getBranch() + + pos_opening_list = frappe.get_all( + "POS Opening Entry", + filters={ + "branch": branchName, + "docstatus": 1, + "status": "Open" + }, + fields=["posting_date"] + ) + + if pos_opening_list: + pos_open = 1 + pos_posting_date = pos_opening_list[0].posting_date + else: + pos_open = 0 + pos_posting_date = today_date + + user_roles = frappe.get_roles(employee) + + pos_profile_name = frappe.get_value( + "POS Profile", + {"branch": branchName}, + "name" + ) + + if not pos_profile_name: + return { + "pos_open": pos_open, + "checklist": 1 + } + + pos_profile = frappe.get_doc("POS Profile", pos_profile_name) + daily_quality_checklist = pos_profile.custom_daily_quality_checking + + if not daily_quality_checklist: + return { + "pos_open": pos_open, + "checklist": 1 + } + + to_submit_checklists = [] + for checklist in daily_quality_checklist: + for user_role in user_roles: + if checklist.role == user_role: + to_submit_checklists.append(checklist) + + if not to_submit_checklists: + return { + "pos_open": pos_open, + "checklist": 1 + } + + is_checklist_submitted = frappe.db.exists({ + "doctype": "Quality Review", + "date": pos_posting_date, + "status": ["in", ["Open", "Passed"]], + "owner": employee + }) + + return { + "pos_open": pos_open, + "checklist": 1 if is_checklist_submitted else 0, + "checklist_name": [check.checklist for check in to_submit_checklists], + "pos_posting_date": pos_posting_date + } diff --git a/ury/ury/api/quality_goal.py b/ury/ury/api/quality_goal.py new file mode 100644 index 00000000..71e9ee07 --- /dev/null +++ b/ury/ury/api/quality_goal.py @@ -0,0 +1,32 @@ +import frappe + +@frappe.whitelist() +def quality_goal_for_current_user( + doctype, txt, searchfield, start, page_len, filters +): + user = frappe.session.user + + if user == "Administrator": + return frappe.db.sql(""" + SELECT name + FROM `tabQuality Goal` + WHERE name LIKE %s + ORDER BY modified DESC + LIMIT %s, %s + """, (f"%{txt}%", start, page_len)) + + roles = frappe.get_roles(user) + if not roles: + return [] + + placeholders = ", ".join(["%s"] * len(roles)) + + return frappe.db.sql(f""" + SELECT name + FROM `tabQuality Goal` + WHERE + name LIKE %s + AND custom_assigned_role IN ({placeholders}) + ORDER BY modified DESC + LIMIT %s, %s + """, tuple([f"%{txt}%"] + roles + [start, page_len])) diff --git a/ury/ury/custom/pos_profile.json b/ury/ury/custom/pos_profile.json new file mode 100644 index 00000000..23b8039b --- /dev/null +++ b/ury/ury/custom/pos_profile.json @@ -0,0 +1,2674 @@ +{ + "custom_fields": [ + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:42.733560", + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": "restaurant.branch", + "fetch_if_empty": 0, + "fieldname": "branch", + "fieldtype": "Link", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 12, + "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": "column_break_c10ag", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Branch", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2023-09-14 00:40:58.061259", + "modified_by": "Administrator", + "module": null, + "name": "POS Profile-branch", + "no_copy": 0, + "non_negative": 0, + "options": "Branch", + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:43.846105", + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "column_break_bvzw2", + "fieldtype": "Column Break", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 22, + "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": "paid_limit", + "is_system_generated": 0, + "is_virtual": 0, + "label": null, + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2024-01-23 11:14:35.908218", + "modified_by": "Administrator", + "module": null, + "name": "POS Profile-column_break_bvzw2", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:42.616161", + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "column_break_c10ag", + "fieldtype": "Column Break", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 11, + "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": "restaurant", + "is_system_generated": 0, + "is_virtual": 0, + "label": null, + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2023-09-14 00:40:57.859845", + "modified_by": "Administrator", + "module": null, + "name": "POS Profile-column_break_c10ag", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:50.443045", + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_cl", + "fieldtype": "Column Break", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 36, + "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_kot_alert_sound", + "is_system_generated": 0, + "is_virtual": 0, + "label": "", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2023-12-12 12:30:14.254898", + "modified_by": "Administrator", + "module": "URY", + "name": "POS Profile-custom_cl", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:51.244143", + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_column_break_wwq3q", + "fieldtype": "Column Break", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 40, + "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_recipients", + "is_system_generated": 0, + "is_virtual": 0, + "label": "", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2025-02-19 12:54:21.578630", + "modified_by": "Administrator", + "module": null, + "name": "POS Profile-custom_column_break_wwq3q", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:44.987049", + "default": null, + "depends_on": null, + "description": "Validate that the previous day\u2019s POS is closed before opening a new one.", + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_daily_pos_close", + "fieldtype": "Check", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 27, + "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": "show_image", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Require Daily POS Closing", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2024-08-28 11:00:16.547440", + "modified_by": "Administrator", + "module": "URY", + "name": "POS Profile-custom_daily_pos_close", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-14 11:45:54.082507", + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_daily_quality_checking", + "fieldtype": "Table", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 65, + "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_itqal", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Daily Quality Check", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2026-01-14 17:15:42.603306", + "modified_by": "Administrator", + "module": "URY", + "name": "POS Profile-custom_daily_quality_checking", + "no_copy": 0, + "non_negative": 0, + "options": "Daily Quality Check", + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:49.758520", + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_edit_order_type", + "fieldtype": "Check", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 29, + "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_enable_discount", + "is_system_generated": 0, + "is_virtual": 0, + "label": " Enable Order Type Edit", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2025-04-11 15:08:20.399135", + "modified_by": "Administrator", + "module": null, + "name": "POS Profile-custom_edit_order_type", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:45.090806", + "default": null, + "depends_on": null, + "description": "Enable discount feature in URY POS", + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_enable_discount", + "fieldtype": "Check", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 28, + "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_daily_pos_close", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Enable Discount", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2024-12-06 11:00:16.547440", + "modified_by": "Administrator", + "module": "URY", + "name": "POS Profile-custom_enable_discount", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:51.079440", + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_enable_kot_reprint", + "fieldtype": "Check", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 41, + "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_wwq3q", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Enable KOT Reprint", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2025-02-19 12:51:46.708745", + "modified_by": "Administrator", + "module": null, + "name": "POS Profile-custom_enable_kot_reprint", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:49.426978", + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_enable_multiple_cashier", + "fieldtype": "Check", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 31, + "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_multiple_cashier_configuration", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Enable Multiple Cashier", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2025-03-24 01:36:56.829981", + "modified_by": "Administrator", + "module": null, + "name": "POS Profile-custom_enable_multiple_cashier", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:50.277921", + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_kot_alert", + "fieldtype": "Check", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 34, + "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_kot_naming_series", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Enable KOT Audio Alert", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2023-12-09 21:30:41.399221", + "modified_by": "Administrator", + "module": "URY", + "name": "POS Profile-custom_kot_alert", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:50.364049", + "default": null, + "depends_on": "custom_kot_alert", + "description": null, + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_kot_alert_sound", + "fieldtype": "Attach", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 35, + "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_kot_alert", + "is_system_generated": 0, + "is_virtual": 0, + "label": "KOT alert sound", + "length": 0, + "link_filters": null, + "mandatory_depends_on": "custom_kot_alert", + "modified": "2023-12-11 09:51:31.430739", + "modified_by": "Administrator", + "module": "URY", + "name": "POS Profile-custom_kot_alert_sound", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:50.016917", + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_kot_settings", + "fieldtype": "Section Break", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 32, + "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_enable_multiple_cashier", + "is_system_generated": 0, + "is_virtual": 0, + "label": "KOT Settings", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2023-10-01 21:07:14.402860", + "modified_by": "Administrator", + "module": "URY", + "name": "POS Profile-custom_kot_settings", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:50.506108", + "default": null, + "depends_on": "", + "description": null, + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_kot_warning_time", + "fieldtype": "Int", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 37, + "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_cl", + "is_system_generated": 0, + "is_virtual": 0, + "label": "KOT Warning Time", + "length": 0, + "link_filters": null, + "mandatory_depends_on": "", + "modified": "2023-12-13 11:37:13.317018", + "modified_by": "Administrator", + "module": "URY", + "name": "POS Profile-custom_kot_warning_time", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 1, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:49.371212", + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_multiple_cashier_configuration", + "fieldtype": "Section Break", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 30, + "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_edit_order_type", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Multiple Cashier Configuration", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2025-03-24 01:35:57.412505", + "modified_by": "Administrator", + "module": null, + "name": "POS Profile-custom_multiple_cashier_configuration", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:50.595123", + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_notify_kot_delay", + "fieldtype": "Check", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 38, + "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_kot_warning_time", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Notify KOT Delay", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2023-12-12 12:32:02.111078", + "modified_by": "Administrator", + "module": "URY", + "name": "POS Profile-custom_notify_kot_delay", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:51.160365", + "default": null, + "depends_on": "eval:doc.custom_enable_kot_reprint", + "description": null, + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_parcel_order_printer", + "fieldtype": "Link", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 42, + "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_enable_kot_reprint", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Parcel Order Printer", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2025-02-19 12:53:18.058825", + "modified_by": "Administrator", + "module": null, + "name": "POS Profile-custom_parcel_order_printer", + "no_copy": 0, + "non_negative": 0, + "options": "Network Printer Settings", + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:50.675321", + "default": null, + "depends_on": "custom_notify_kot_delay", + "description": null, + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_recipients", + "fieldtype": "Table", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 39, + "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_notify_kot_delay", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Recipients", + "length": 0, + "link_filters": null, + "mandatory_depends_on": "custom_notify_kot_delay", + "modified": "2023-12-12 12:38:56.235040", + "modified_by": "Administrator", + "module": "URY", + "name": "POS Profile-custom_recipients", + "no_copy": 0, + "non_negative": 0, + "options": "URY Notification Recipient", + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:51.387943", + "default": null, + "depends_on": "eval:doc.custom_enable_kot_reprint", + "description": null, + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_reprint_kot_format", + "fieldtype": "Link", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 44, + "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_table_order_printer", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Reprint KOT Format", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2025-02-19 14:34:30.828917", + "modified_by": "Administrator", + "module": null, + "name": "POS Profile-custom_reprint_kot_format", + "no_copy": 0, + "non_negative": 0, + "options": "Print Format", + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:50.735577", + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_reset_order_number_daily", + "fieldtype": "Check", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 45, + "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_reprint_kot_format", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Reset Order Number Daily", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2024-08-23 10:50:44.420498", + "modified_by": "Administrator", + "module": null, + "name": "POS Profile-custom_reset_order_number_daily", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-14 11:45:53.963684", + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_section_break_itqal", + "fieldtype": "Section Break", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 64, + "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": "allow_partial_payment", + "is_system_generated": 0, + "is_virtual": 0, + "label": "", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2026-01-14 17:15:29.294685", + "modified_by": "Administrator", + "module": "URY", + "name": "POS Profile-custom_section_break_itqal", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:51.305457", + "default": null, + "depends_on": "eval:doc.custom_enable_kot_reprint", + "description": null, + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_table_order_printer", + "fieldtype": "Link", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 43, + "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_parcel_order_printer", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Table Order Printer", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2025-02-19 12:59:09.653916", + "modified_by": "Administrator", + "module": null, + "name": "POS Profile-custom_table_order_printer", + "no_copy": 0, + "non_negative": 0, + "options": "Network Printer Settings", + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:50.200026", + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_kot_naming_series", + "fieldtype": "Data", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 33, + "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_kot_settings", + "is_system_generated": 0, + "is_virtual": 0, + "label": "URY KOT Naming Series", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2023-10-01 21:08:17.416512", + "modified_by": "Administrator", + "module": "URY", + "name": "POS Profile-kot_naming_series", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:43.769574", + "default": "0", + "depends_on": null, + "description": "Set a limit for the cashier to view a restricted number of recently paid invoices.", + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "paid_limit", + "fieldtype": "Int", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 21, + "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": "table_attention_time", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Show Limited Paid Invoices", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2024-09-24 14:08:01.442206", + "modified_by": "Administrator", + "module": null, + "name": "POS Profile-paid_limit", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:42.852694", + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "printer_info", + "fieldtype": "Section Break", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 13, + "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": "branch", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Printer Info", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2023-09-14 11:58:59.185765", + "modified_by": "Administrator", + "module": null, + "name": "POS Profile-printer_info", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:42.966665", + "default": null, + "depends_on": "eval:doc.qz_print != 1;", + "description": null, + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "printer_settings", + "fieldtype": "Table", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 14, + "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": "printer_info", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Printer Settings", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2023-09-14 11:58:59.658627", + "modified_by": "Administrator", + "module": null, + "name": "POS Profile-printer_settings", + "no_copy": 0, + "non_negative": 0, + "options": "URY Printer Settings", + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:43.316769", + "default": null, + "depends_on": "qz_print", + "description": null, + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "qz_host", + "fieldtype": "Data", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 16, + "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": "qz_print", + "is_system_generated": 0, + "is_virtual": 0, + "label": "QZ Host", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2023-09-14 11:59:00.067091", + "modified_by": "Administrator", + "module": null, + "name": "POS Profile-qz_host", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:43.063436", + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "qz_print", + "fieldtype": "Check", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 15, + "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": "printer_settings", + "is_system_generated": 0, + "is_virtual": 0, + "label": "QZ Print", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2023-09-14 11:58:59.871043", + "modified_by": "Administrator", + "module": null, + "name": "POS Profile-qz_print", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:44.447264", + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "remove_items", + "fieldtype": "Check", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 25, + "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": "view_all_status", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Allow Cashier To Edit And Remove Table Order Items", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2024-01-23 13:32:45.884420", + "modified_by": "Administrator", + "module": null, + "name": "POS Profile-remove_items", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:42.541213", + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "restaurant", + "fieldtype": "Link", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 10, + "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": "restaurant_info", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Restaurant", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2023-09-14 00:40:57.650719", + "modified_by": "Administrator", + "module": null, + "name": "POS Profile-restaurant", + "no_copy": 0, + "non_negative": 0, + "options": "URY Restaurant", + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:42.460605", + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "restaurant_info", + "fieldtype": "Section Break", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 9, + "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": "company_address", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Restaurant Info", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2023-09-14 00:40:57.426746", + "modified_by": "Administrator", + "module": null, + "name": "POS Profile-restaurant_info", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:49.033978", + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "restaurant_prefix", + "fieldtype": "Check", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 61, + "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": "allow_discount_change", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Restaurant Prefix For Sales Invoice", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2023-12-04 14:06:14.125832", + "modified_by": "Administrator", + "module": null, + "name": "POS Profile-restaurant_prefix", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:43.630168", + "default": null, + "depends_on": null, + "description": "Users assigned this role will function as cashiers in URY POS, responsible for managing billing transactions.", + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "role_allowed_for_billing", + "fieldtype": "Table MultiSelect", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 19, + "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": "transfer_role_permissions", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Role Allowed For Billing", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2024-01-05 17:42:25.673638", + "modified_by": "Administrator", + "module": null, + "name": "POS Profile-role_allowed_for_billing", + "no_copy": 0, + "non_negative": 0, + "options": "Role Permitted", + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:44.030242", + "default": null, + "depends_on": null, + "description": "Users with this role have restricted access to table order functions.", + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "role_restricted_for_table_order", + "fieldtype": "Table MultiSelect", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 23, + "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": "column_break_bvzw2", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Role Restricted For Table Order", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2024-01-05 20:16:47.345168", + "modified_by": "Administrator", + "module": null, + "name": "POS Profile-role_restricted_for_table_order", + "no_copy": 0, + "non_negative": 0, + "options": "Role Permitted", + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 1, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:43.501594", + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "section_break_tjhrm", + "fieldtype": "Section Break", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 17, + "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": "qz_host", + "is_system_generated": 0, + "is_virtual": 0, + "label": "URY pos restrictions ", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2024-01-04 11:03:50.097450", + "modified_by": "Administrator", + "module": null, + "name": "POS Profile-section_break_tjhrm", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:44.530314", + "default": "1", + "depends_on": null, + "description": null, + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "show_image", + "fieldtype": "Check", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 26, + "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": "remove_items", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Show Item Image In URY Pos", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2024-02-09 19:24:46.076630", + "modified_by": "Administrator", + "module": null, + "name": "POS Profile-show_image", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:43.691461", + "default": "0", + "depends_on": null, + "description": null, + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "table_attention_time", + "fieldtype": "Int", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 20, + "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": "role_allowed_for_billing", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Table Attention time", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2024-02-13 16:30:33.325971", + "modified_by": "Administrator", + "module": null, + "name": "POS Profile-table_attention_time", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:43.555513", + "default": null, + "depends_on": null, + "description": "This role grants permissions for Captain Transfer with access to all tables\n", + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "transfer_role_permissions", + "fieldtype": "Table MultiSelect", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 18, + "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": "section_break_tjhrm", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Role Permitted For Captain Transfer", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2024-01-04 11:03:50.911595", + "modified_by": "Administrator", + "module": null, + "name": "POS Profile-transfer_role_permissions", + "no_copy": 0, + "non_negative": 0, + "options": "Role Permitted", + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:44.227966", + "default": null, + "depends_on": null, + "description": "Enables Cashiers to view all statuses (Paid, Consolidated, Return Invoices) in the recent order.", + "docstatus": 0, + "dt": "POS Profile", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "view_all_status", + "fieldtype": "Check", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 24, + "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": "role_restricted_for_table_order", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Allow Cashier To View All Status", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2024-01-23 13:30:17.539810", + "modified_by": "Administrator", + "module": null, + "name": "POS Profile-view_all_status", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "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 + } + ], + "custom_perms": [], + "doctype": "POS Profile", + "links": [ + { + "creation": "2013-05-24 12:15:51", + "custom": 0, + "docstatus": 0, + "group": "Opening & Closing", + "hidden": 0, + "idx": 4, + "is_child_table": 0, + "link_doctype": "POS Closing Entry", + "link_fieldname": "pos_profile", + "modified": "2026-01-02 11:37:06.436004", + "modified_by": "Administrator", + "name": "hb8hd1ielm", + "owner": "Administrator", + "parent": "POS Profile", + "parent_doctype": null, + "parentfield": "links", + "parenttype": "DocType", + "table_fieldname": null + }, + { + "creation": "2013-05-24 12:15:51", + "custom": 0, + "docstatus": 0, + "group": "Invoices", + "hidden": 0, + "idx": 2, + "is_child_table": 0, + "link_doctype": "POS Invoice", + "link_fieldname": "pos_profile", + "modified": "2026-01-02 11:37:06.436004", + "modified_by": "Administrator", + "name": "hb8jdktq8e", + "owner": "Administrator", + "parent": "POS Profile", + "parent_doctype": null, + "parentfield": "links", + "parenttype": "DocType", + "table_fieldname": null + }, + { + "creation": "2013-05-24 12:15:51", + "custom": 0, + "docstatus": 0, + "group": "Opening & Closing", + "hidden": 0, + "idx": 3, + "is_child_table": 0, + "link_doctype": "POS Opening Entry", + "link_fieldname": "pos_profile", + "modified": "2026-01-02 11:37:06.436004", + "modified_by": "Administrator", + "name": "hb8puvttis", + "owner": "Administrator", + "parent": "POS Profile", + "parent_doctype": null, + "parentfield": "links", + "parenttype": "DocType", + "table_fieldname": null + }, + { + "creation": "2013-05-24 12:15:51", + "custom": 0, + "docstatus": 0, + "group": "Invoices", + "hidden": 0, + "idx": 1, + "is_child_table": 0, + "link_doctype": "Sales Invoice", + "link_fieldname": "pos_profile", + "modified": "2026-01-02 11:37:06.436004", + "modified_by": "Administrator", + "name": "hb8ro440g0", + "owner": "Administrator", + "parent": "POS Profile", + "parent_doctype": null, + "parentfield": "links", + "parenttype": "DocType", + "table_fieldname": null + } + ], + "property_setters": [ + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-01-14 11:46:03.932785", + "default_value": null, + "doc_type": "POS Profile", + "docstatus": 0, + "doctype_or_field": "DocType", + "field_name": null, + "idx": 0, + "is_system_generated": 0, + "modified": "2026-01-14 11:46:03.932785", + "modified_by": "Administrator", + "module": null, + "name": "POS Profile-main-field_order", + "owner": "Administrator", + "property": "field_order", + "property_type": "Data", + "row_name": null, + "value": "[\"company\", \"customer\", \"country\", \"disabled\", \"column_break_9\", \"warehouse\", \"campaign\", \"company_address\", \"restaurant_info\", \"restaurant\", \"column_break_c10ag\", \"branch\", \"printer_info\", \"printer_settings\", \"qz_print\", \"qz_host\", \"section_break_tjhrm\", \"transfer_role_permissions\", \"role_allowed_for_billing\", \"table_attention_time\", \"paid_limit\", \"column_break_bvzw2\", \"role_restricted_for_table_order\", \"view_all_status\", \"remove_items\", \"show_image\", \"custom_daily_pos_close\", \"custom_enable_discount\", \"custom_edit_order_type\", \"custom_multiple_cashier_configuration\", \"custom_enable_multiple_cashier\", \"custom_kot_settings\", \"custom_kot_naming_series\", \"custom_kot_alert\", \"custom_kot_alert_sound\", \"custom_cl\", \"custom_kot_warning_time\", \"custom_notify_kot_delay\", \"custom_recipients\", \"custom_column_break_wwq3q\", \"custom_enable_kot_reprint\", \"custom_parcel_order_printer\", \"custom_table_order_printer\", \"custom_reprint_kot_format\", \"custom_reset_order_number_daily\", \"section_break_15\", \"applicable_for_users\", \"section_break_11\", \"payments\", \"section_break_14\", \"hide_images\", \"hide_unavailable_items\", \"auto_add_item_to_cart\", \"validate_stock_on_save\", \"print_receipt_on_order_complete\", \"column_break_16\", \"update_stock\", \"ignore_pricing_rule\", \"allow_rate_change\", \"allow_discount_change\", \"restaurant_prefix\", \"disable_grand_total_to_default_mop\", \"allow_partial_payment\", \"custom_section_break_itqal\", \"custom_daily_quality_checking\", \"section_break_23\", \"item_groups\", \"column_break_25\", \"customer_groups\", \"section_break_16\", \"print_format\", \"letter_head\", \"column_break0\", \"tc_name\", \"select_print_heading\", \"section_break_19\", \"selling_price_list\", \"currency\", \"write_off_account\", \"write_off_cost_center\", \"write_off_limit\", \"account_for_change_amount\", \"disable_rounded_total\", \"column_break_23\", \"income_account\", \"expense_account\", \"taxes_and_charges\", \"tax_category\", \"apply_discount_on\", \"accounting_dimensions_section\", \"cost_center\", \"dimension_col_break\", \"project\"]" + } + ], + "sync_on_migrate": 1 +} \ No newline at end of file diff --git a/ury/ury/custom/pos_profile_user.json b/ury/ury/custom/pos_profile_user.json new file mode 100644 index 00000000..43433fda --- /dev/null +++ b/ury/ury/custom/pos_profile_user.json @@ -0,0 +1,73 @@ +{ + "custom_fields": [ + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:49.503435", + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "dt": "POS Profile User", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_main_cashier", + "fieldtype": "Check", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 1, + "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": "default", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Main Cashier", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2025-03-24 14:33:08.806157", + "modified_by": "Administrator", + "module": null, + "name": "POS Profile User-custom_main_cashier", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "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": "3" + } + ], + "custom_perms": [], + "doctype": "POS Profile User", + "links": [], + "property_setters": [], + "sync_on_migrate": 1 +} \ No newline at end of file diff --git a/ury/ury/custom/quality_goal.json b/ury/ury/custom/quality_goal.json new file mode 100644 index 00000000..4970cc65 --- /dev/null +++ b/ury/ury/custom/quality_goal.json @@ -0,0 +1,118 @@ +{ + "custom_fields": [ + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-08 12:54:31.583677", + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "dt": "Quality Goal", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_assigned_role", + "fieldtype": "Link", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 3, + "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": "frequency", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Assigned Role", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2026-01-14 17:15:13.338205", + "modified_by": "Administrator", + "module": "URY", + "name": "Quality Goal-custom_assigned_role", + "no_copy": 0, + "non_negative": 0, + "options": "Role", + "owner": "Administrator", + "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": 0, + "unique": 0, + "width": null + } + ], + "custom_perms": [], + "doctype": "Quality Goal", + "links": [ + { + "creation": "2018-10-02 12:17:41.727541", + "custom": 0, + "docstatus": 0, + "group": "Review", + "hidden": 0, + "idx": 1, + "is_child_table": 0, + "link_doctype": "Quality Review", + "link_fieldname": "goal", + "modified": "2026-01-02 11:37:42.923498", + "modified_by": "Administrator", + "name": "hmlso0379r", + "owner": "Administrator", + "parent": "Quality Goal", + "parent_doctype": null, + "parentfield": "links", + "parenttype": "DocType", + "table_fieldname": null + } + ], + "property_setters": [ + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "creation": "2026-01-12 19:38:52.157834", + "default_value": null, + "doc_type": "Quality Goal", + "docstatus": 0, + "doctype_or_field": "DocType", + "field_name": null, + "idx": 0, + "is_system_generated": 0, + "modified": "2026-01-12 19:38:52.157834", + "modified_by": "Administrator", + "module": null, + "name": "Quality Goal-main-field_order", + "owner": "Administrator", + "property": "field_order", + "property_type": "Data", + "row_name": null, + "value": "[\"goal\", \"frequency\", \"custom_assigned_role\", \"cb_00\", \"procedure\", \"weekday\", \"date\", \"sb_01\", \"objectives\"]" + } + ], + "sync_on_migrate": 1 +} \ No newline at end of file diff --git a/ury/ury/custom/ury_printer_settings.json b/ury/ury/custom/ury_printer_settings.json new file mode 100644 index 00000000..5c07bb50 --- /dev/null +++ b/ury/ury/custom/ury_printer_settings.json @@ -0,0 +1,201 @@ +{ + "custom_fields": [ + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:49.832167", + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "dt": "URY Printer Settings", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_kot_print", + "fieldtype": "Check", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 1, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 1, + "in_preview": 1, + "in_standard_filter": 0, + "insert_after": "bill", + "is_system_generated": 0, + "is_virtual": 0, + "label": "KOT Print", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2023-09-27 13:23:37.572928", + "modified_by": "Administrator", + "module": "URY", + "name": "Printer Settings-kot", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:49.889827", + "default": null, + "depends_on": "custom_kot_print", + "description": null, + "docstatus": 0, + "dt": "URY Printer Settings", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_kot_print_format", + "fieldtype": "Link", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 3, + "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": "printer", + "is_system_generated": 0, + "is_virtual": 0, + "label": "KOT Print Format", + "length": 0, + "link_filters": null, + "mandatory_depends_on": null, + "modified": "2024-01-09 13:03:26.991856", + "modified_by": "Administrator", + "module": "URY", + "name": "Printer Settings-kot_print_format_", + "no_copy": 0, + "non_negative": 0, + "options": "Print Format", + "owner": "Administrator", + "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 + }, + { + "_assign": null, + "_comments": null, + "_liked_by": null, + "_user_tags": null, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "creation": "2026-01-02 12:13:49.950357", + "default": null, + "depends_on": "eval:doc.parenttype=='URY Production Unit' && doc.custom_kot_print == 1", + "description": null, + "docstatus": 0, + "dt": "URY Printer Settings", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "custom_block_takeaway_kot", + "fieldtype": "Check", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "idx": 4, + "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_kot_print_format", + "is_system_generated": 0, + "is_virtual": 0, + "label": "Block Takeaway KOT", + "length": 0, + "link_filters": null, + "mandatory_depends_on": "", + "modified": "2024-01-17 02:00:22.569584", + "modified_by": "Administrator", + "module": null, + "name": "URY Printer Settings-custom_block_takeaway_kot", + "no_copy": 0, + "non_negative": 0, + "options": null, + "owner": "Administrator", + "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 + } + ], + "custom_perms": [], + "doctype": "URY Printer Settings", + "links": [], + "property_setters": [], + "sync_on_migrate": 1 +} \ No newline at end of file diff --git a/ury/ury/doctype/daily_quality_check/__init__.py b/ury/ury/doctype/daily_quality_check/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/ury/ury/doctype/daily_quality_check/daily_quality_check.json b/ury/ury/doctype/daily_quality_check/daily_quality_check.json new file mode 100644 index 00000000..fb4f04c4 --- /dev/null +++ b/ury/ury/doctype/daily_quality_check/daily_quality_check.json @@ -0,0 +1,50 @@ +{ + "actions": [], + "allow_rename": 1, + "creation": "2026-01-14 11:38:19.730898", + "doctype": "DocType", + "editable_grid": 1, + "engine": "InnoDB", + "field_order": [ + "checklist", + "options", + "role" + ], + "fields": [ + { + "fieldname": "checklist", + "fieldtype": "Link", + "in_list_view": 1, + "label": "Checklist", + "options": "Quality Goal" + }, + { + "fieldname": "options", + "fieldtype": "Select", + "in_list_view": 1, + "label": "Options", + "options": "POS Opening Entry\nPOS Closing Entry\nOrder Taking\nRM Checklist" + }, + { + "fieldname": "role", + "fieldtype": "Link", + "label": "Role", + "options": "Role" + } + ], + "grid_page_length": 50, + "index_web_pages_for_search": 1, + "istable": 1, + "links": [], + "modified": "2026-01-23 12:29:11.027868", + "modified_by": "Administrator", + "module": "URY", + "name": "Daily Quality Check", + "owner": "Administrator", + "permissions": [], + "row_format": "Dynamic", + "rows_threshold_for_grid_search": 20, + "sort_field": "modified", + "sort_order": "DESC", + "states": [] +} \ No newline at end of file diff --git a/ury/ury/doctype/daily_quality_check/daily_quality_check.py b/ury/ury/doctype/daily_quality_check/daily_quality_check.py new file mode 100644 index 00000000..4663df4f --- /dev/null +++ b/ury/ury/doctype/daily_quality_check/daily_quality_check.py @@ -0,0 +1,9 @@ +# Copyright (c) 2026, Tridz Technologies Pvt. Ltd and contributors +# For license information, please see license.txt + +# import frappe +from frappe.model.document import Document + + +class DailyQualityCheck(Document): + pass diff --git a/ury/ury/hooks/ury_pos_closing_entry.py b/ury/ury/hooks/ury_pos_closing_entry.py index 1e588e2b..213e3f49 100644 --- a/ury/ury/hooks/ury_pos_closing_entry.py +++ b/ury/ury/hooks/ury_pos_closing_entry.py @@ -1,4 +1,6 @@ import frappe +from frappe.utils import today + def before_save(doc, method): sub_pos_close_check(doc, method) @@ -6,6 +8,7 @@ def before_save(doc, method): def validate(doc, method): calculate_closing_amount(doc, method) validate_cashier(doc, method) + validate_pos_closing_quality_review(doc, method) def sub_pos_close_check(doc,method): @@ -70,4 +73,42 @@ def validate_cashier(doc, method): frappe.throw("Sub Cashiers are not allowed to make POS Closing Entries.") else: pass - \ No newline at end of file + +def validate_pos_closing_quality_review(doc, method): + required_goals = frappe.get_all( + "Daily Quality Check", + filters={ + "parent": doc.pos_profile, + "parenttype": "POS Profile", + "options": "POS Closing Entry" + }, + pluck="checklist" + ) + + if not required_goals: + return + + review_name = frappe.db.get_value( + "Quality Review", + { + "date": today(), + "goal": ["in", required_goals] + }, + "name" + ) + + if not review_name: + frappe.throw( + "Please complete today's Quality Review for POS Closing.", + title="Quality Review Required" + ) + + review_doc = frappe.get_doc("Quality Review", review_name) + + if any(row.status == "Failed" for row in review_doc.reviews): + frappe.msgprint( + "Some objectives in today's Quality Review are marked as Failed. " + "Please review them.", + indicator="red", + alert=True + ) diff --git a/ury/ury/hooks/ury_pos_opening_entry.py b/ury/ury/hooks/ury_pos_opening_entry.py index 4c256b1d..a48b86ae 100644 --- a/ury/ury/hooks/ury_pos_opening_entry.py +++ b/ury/ury/hooks/ury_pos_opening_entry.py @@ -4,6 +4,7 @@ def validate(doc,method): set_cashier_room(doc,method) + validate_pos_opening_quality_review(doc, method) def before_save(doc, method): main_pos_open_check(doc, method) @@ -61,3 +62,41 @@ def main_pos_open_check(doc,method): return flag else: pass +def validate_pos_opening_quality_review(doc, method): + required_goals = frappe.get_all( + "Daily Quality Check", + filters={ + "parent": doc.pos_profile, + "parenttype": "POS Profile", + "options": "POS Opening Entry" + }, + pluck="checklist" + ) + + if not required_goals: + return + + review_name = frappe.db.get_value( + "Quality Review", + { + "date": today(), + "goal": ["in", required_goals] + }, + "name" + ) + + if not review_name: + frappe.throw( + "Please complete today's Quality Review for POS Opening.", + title="Quality Review Required" + ) + + review_doc = frappe.get_doc("Quality Review", review_name) + + if any(row.status == "Failed" for row in review_doc.reviews): + frappe.msgprint( + "Some objectives in today's Quality Review are marked as Failed. " + "Please review them.", + indicator="red", + alert=True + ) diff --git a/urypos/src/stores/Auth.js b/urypos/src/stores/Auth.js index 8d29b3c8..bbdbc4d1 100644 --- a/urypos/src/stores/Auth.js +++ b/urypos/src/stores/Auth.js @@ -158,7 +158,25 @@ export const useAuthStore = defineStore("auth", { window.location.href = currentDomain + "/app/"; }, - isPosOpenChecking() { + async validateChecklist(redirectPath, checklistType = "Pos Opening Entry") { + try { + const checklistRes = await this.call.get("ury.ury.api.pos_checklist.checklist", { + checklist_type: checklistType + }); + if (checklistRes.message.checklist === 0) { + const currentDomain = window.location.origin; + await this.alert.createAlert("Message", checklistRes.message.message || "Complete the checklist quality review", "OK"); + window.location.href = window.location.origin + "/app"; + return false; + } + return true; + } catch (error) { + console.error("Checklist check failed", error); + return true; + } + }, + + async isPosOpenChecking() { if (this.invoiceData.multipleCashier) { this.call .get("ury.ury.doctype.ury_order.ury_order.pos_opening_check") @@ -182,44 +200,49 @@ export const useAuthStore = defineStore("auth", { }); }); - } + } else { - this.call - .get("ury.ury_pos.api.posOpening") - .then((result) => { - const serverMessages = JSON.parse(result._server_messages); - const innerMessageString = serverMessages[0]; - const innerMessage = JSON.parse(innerMessageString); - const message = innerMessage.message; - // if (this.cashier) { - // this.alert.createAlert("Message", message, "OK").then(() => { - // router.push("/posOpen"); - // }); - // } else { - var currentDomain = window.location.origin; - this.alert.createAlert("Message", message, "OK").then(() => { - window.location.href = currentDomain + "/app/"; - }); - // } - }) - .catch((error) => { - // console.error(error) - }); + // Updated flow as per requirements + const isValid = await this.validateChecklist("/PosOpen", "Pos Opening Entry"); + if (!isValid) return; + + this.checkPosOpeningEntry(); } }, + checkPosOpeningEntry() { + this.call + .get("ury.ury_pos.api.posOpening") + .then((result) => { + const serverMessages = JSON.parse(result._server_messages); + const innerMessageString = serverMessages[0]; + const innerMessage = JSON.parse(innerMessageString); + const message = innerMessage.message; + var currentDomain = window.location.origin; + this.alert.createAlert("Message", message, "OK").then(() => { + window.location.href = currentDomain + "/app/"; + }); + }) + .catch((error) => { + // console.error(error) + }); + }, isPosCloseCheck() { const getPosProfile = { pos_profile: this.invoiceData.posProfile, }; this.call .get("ury.ury_pos.api.validate_pos_close", getPosProfile) - .then((result) => { + .then(async (result) => { if (result.message === "Failed") { + const isValid = await this.validateChecklist("/PosClose", "Pos Closing Entry"); + if (!isValid) return; + + // Checklist valid, but POS still needs closing var currentDomain = window.location.origin; this.alert .createAlert("Message", "Please close previous POS Entry", "OK") .then(() => { - window.location.href = currentDomain + "/app/"; + router.push("/PosClose"); }); } })